如何使用vue-router的addRoutes动态添加路由并显示在导航栏?

这个是自己写的准备动态添加的路由clipboard.png
在login.vue里导入clipboard.png
在login.vue的一个点击事件里用addRoutes动态添加这个路由clipboard.png
然后跳转到user.vue里,遍历所有路由对象来写个导航栏clipboard.png
然而新的这两个路由并没有添加进来显示在导航栏里,为什么?
这个addRoutes怎么用?我要根据服务器才传回来的权限来控制该用户能有哪些路由

阅读 8.6k
3 个回答

router.options.routes 不是响应式的。
你说的需求推荐静态注册所有路由,然后另外维护一个响应式的菜单数据结构来实现。

            this.$router.options.routes = asyncRouterMap;
            this.$router.addRoutes(asyncRouterMap);
for (var n = 0; n < asyncRouterMap.length; n++) {
    this.$router.options.routes.push(asyncRouterMap[n]);
 }
 this.$router.addRoutes(this.$router.options.routes);`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题