现在有这样的页面跳转顺序a->b->c
,那么我在c
页面直接$router.go(-2)
可以回到a
页面。
如果中间多了几次页面跳转,比如a->e->f->c
,那么我在c
页面回到a
页面需要$router.go(-3)
。
所以就应该需要动态获取页面a
在历史记录中的index
,请问各位如何才能获取到指定路径在历史记录中的index
,不一定vue-router
原生实现,借助其他模块也可以
现在有这样的页面跳转顺序a->b->c
,那么我在c
页面直接$router.go(-2)
可以回到a
页面。
如果中间多了几次页面跳转,比如a->e->f->c
,那么我在c
页面回到a
页面需要$router.go(-3)
。
所以就应该需要动态获取页面a
在历史记录中的index
,请问各位如何才能获取到指定路径在历史记录中的index
,不一定vue-router
原生实现,借助其他模块也可以
// 页面组件添加此导航守卫,然后你可以知道上个页面的route信息了(只是上一页)
// 当前组件是复用的状态的话可以使用beforeRouteUpdate
beforeRouteEnter(to, from, next) {
this.fromPage = from
console.log(from)
next()
},
如果你要获取所有的历史记录,那只能在最外层组件添加此导航守卫,在storage里一个个的存了,希望能帮助到你
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
其实也是基于
history
的,获取不到当前路由的index,可以获取到history总length。你可以把每次的路由信息都记录在本地中,然后想怎么跳就怎么跳,想跳哪就跳哪。