spa应用vue-router怎么获取历史记录

现在有这样的页面跳转顺序a->b->c,那么我在c页面直接$router.go(-2)可以回到a页面。
如果中间多了几次页面跳转,比如a->e->f->c,那么我在c页面回到a页面需要$router.go(-3)
所以就应该需要动态获取页面a在历史记录中的index,请问各位如何才能获取到指定路径在历史记录中的index,不一定vue-router原生实现,借助其他模块也可以

阅读 9.7k
3 个回答

其实也是基于history的,获取不到当前路由的index,可以获取到history总length。
你可以把每次的路由信息都记录在本地中,然后想怎么跳就怎么跳,想跳哪就跳哪。

大神想好怎么处理的方法没?我现在也有这样的需求从a->b->c->d 现在页面突然被关闭了,然后重新打开页面时要自动到d.这样一个需求,已经无爱了

// 页面组件添加此导航守卫,然后你可以知道上个页面的route信息了(只是上一页)
// 当前组件是复用的状态的话可以使用beforeRouteUpdate
  beforeRouteEnter(to, from, next) {
    this.fromPage = from
    console.log(from)
    next()
  },

如果你要获取所有的历史记录,那只能在最外层组件添加此导航守卫,在storage里一个个的存了,希望能帮助到你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题