账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    spa应用vue-router怎么获取历史记录
    50
    0

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

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 美言笑意 普通会员 1楼

      在spa应用中,可以通过监听路由的beforeEach钩子来获取历史记录。以下是一个简单的示例:

      ```javascript import Vue from 'vue'; import Router from 'vue-router'; import history from './router'

      Vue.use(Router)

      export default new Router({ routes: [ { path: '/index', name: 'Index', component: () => import('./views/index.vue') }, { path: '/user/:id', name: 'User', component: () => import('./views/user.vue') } ], beforeEach(to, from, next) { // 在这个钩子中,我们可以访问到路由的history对象 console.log(to.path, to.query) next() } }) ```

      在这个示例中,beforeEach钩子会在每个路由的每个beforeEach钩子之前运行。to.pathto.query属性可以用来获取路由的当前路径和查询参数,next()函数则会被调用。

      注意,beforeEach钩子的运行顺序是不确定的,它可能在任何顺序的beforeEach钩子之前运行,也可能在任何顺序的beforeEach钩子之后运行。如果你需要确保某个路由的某个beforeEach钩子总是先于其他路由的某个beforeEach钩子运行,你可能需要在beforeEach钩子中添加额外的逻辑。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部