Skip to content
On this page

addRoute

https://www.jianshu.com/p/55dd0b3b0ae4

javascript
this.$router.addRoute({
    path:'123',
    component: () => import("@/views/xxx.vue"),
    name: "name123",
    meta: { title: "一级路由 " },
})

 this.$router.addRoute('name123',{ // 添加子路由只需把 addRoute第一个参数 填写 父级路由的name即可
    path:'456',
    component: () => import("@/views/xxx.vue"),
    name: "name456",
    meta: { title: "子路由 " },
})

 this.$router.addRoute({
    path:'123',
    component: () => import("@/views/xxx.vue"),
    name: "name123",
    meta: { title: "一级路由 " },
    children:[{
        path:'456',
        component: () => import("@/views/xxx.vue"),
        name: "name456",
        meta: { title: "子路由 " },
      }]
  })

注意:假如routes原本写了这种,addRoute不生效

javascript
// 这个写法会影响addRoute
{
 path: "/:pathMatch(.*)*",
	name: "notFound",
 component: () => import("@/views/NotFound"),
},

要是想用那种写法 就得在addRoute之后 再addRoute notFound路由 可能是有顺序问题,放最后add,就会生效

matcher

https://blog.csdn.net/weixin_44680009/article/details/120924575

javascript
//替换以前的 router 保证名字不重复
router.matcher = new VueRouter({ mode: "hash" }).matcher
router.addRoute(routers)

粤ICP备2024285819号