vue-router中的子路由返回

路由写法如下

routes: [
    
    { path: '/A', component: A },
    { path: '/B', 
        component: B ,
        children: [
            { path: '', component: B1},
            { path: 'b2', component: B2},
            { path: 'b3', component: B3},
        ]
    },
  ]
  
  

当我从A组件进入到B组件,然后从B1进入到B2,在进入到B3,期望不管B1,B2,B3我点击返回都可以返回到A页面,而不是从B3返回到B2(其实就是希望在点击返回的时候可以直接跳过子路由,直接以外层路由为单位)

不知道该如何实现

阅读 5k
1 个回答

当你使用$router.push()时候,会在history中添加记录,

解决办法: 使用router.replace,跟 router.push 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

外层路由进入子路由的时候使用router.replace而不是router.push.

vue-router官网有描述

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