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)
xxxsjan Docs