首页 > 技术文章 > vue动态添加路由

mengqiu 2020-11-09 16:10 原文

 通过routers中的addRoutes方法动态添加路由

const routeObj={
          path: 'container',
          component: (resolve) => require(['@/views/container/index.vue'], resolve),
          meta: {
            title: 'test',
          },
}
routeArr.push(routeObj)
this.$routers.addRoutes(routeArr)
注意:this.$routers.addRoutes(Arr)参数是数组
过程遇到问题:

1、重复路由---如果不是新增根路由,而是在已有路由添加子路由,需要找到根路由,将对象添加进该children子数组
最后需再次调用addRoutes方法才会生效
2、刷新变404---将404路由添加进动态路由中

3、添加路由后,点击路由跳转,页面空白,考虑是否是组件未加载,import导入不管用,使用resolve试试

推荐阅读