vue动态添加子路由?

发布于 2022-09-11 16:33:25 字数 938 浏览 7 评论 0

1、如题,想在登录之后根据后端返回的菜单列表动态更新路由,但是我一addRoutes就只能把路由添加到最外层,问:如何把新的路由加在里层。
如:

        routes: [{
          path: '/login',
          name: 'Login',
          component: Login
      },{
          path: '/',
          component: main,
          name: 'main',
          children: [
              { path: '/aaa',component: aaa, name: 'aaa'},
              {
                  path: '/bbb',
                  component: bbb,
                  name: 'bbb',
                  children: [
                      //我现在这里加路由
                      // { path: '/ccc',component: ccc,name: 'cccc',meta: {parentPath: 'manageMain'}},
                     
                  ]
              }
            
          ]
      },{
          path: '/404',
          component: NotFound,
          name: '',
      },
      {
          path: '*',
          redirect: { path: '/404' }
      }

]

我想在bbb的children里加上我的新路由

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

金橙橙 2022-09-18 16:33:26

直接覆盖你想要修改的路由可以吗?

我试了下,好像可以。

import Test1 from '../views/Test1.vue'

let options = {
    routes:[
        {
            path:'/',
            redirect: '/test1',
        },
        {
            path:'/test1',
            name:'test1',
            component: Test1
        }
    ]
}
this.$router.addRoutes([
    {
        path: '/test1',
        name: 'test1',
        component: Test1,
        children:[
            {
                path: '/test2',
                name: 'test2',
                component: Test2,
            }
        ]
    }
])
this.$router.push({name:'test2'})
毁我热情 2022-09-18 16:33:26

如果mani作为框架页,那就必须把所有菜单路由 递归 push到mani的child里面。这样框架页才能找到对应的路由

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文