vue动态路由实现原理 addRoute

vue新版router.addRoute基础用法

新版Vue Router中用router.addRoute来替代原有的router.addRoutes来动态添加路由、子路由

在添加子路由的时候

比如原现有路由

const routes = [
    {
        path: '/',
        name: 'Login',
        component: () => import(/* webpackChunkName: "about" */ '@/views/Login.vue')
    },
    {
        path: '/index',
        name: 'index',
        meta: { title: '首页', noCache: true },
        component: () => import(/* webpackChunkName: "about" */ '@/views/index.vue'),
        children:[]
        // children: [{
        //     path: '/test',
        //     name: 'test',
        //     component: () => import('../views/test.vue')
        // }
                // ]
    }
]

想要在index下动态添加子路由test,特别要注意添加的子路由的path一定要把父路由的路径也带上

const routeObj = {
    path: 'index/test', // 这里要把父路由的路径也带上
    name: 'test',
    meta: { title: '测试路由test', noCache: true },
    component: () =>
        import('../test/test.vue'),
}
this.$router.addRoute('index', routeObj)
posted @ 2022-03-17 14:08  ajajaz  阅读(1288)  评论(0编辑  收藏  举报