Vue 路由器 addRoutes 已弃用,但我想向 Vue 路由器添加路由数组

Posted

技术标签:

【中文标题】Vue 路由器 addRoutes 已弃用,但我想向 Vue 路由器添加路由数组【英文标题】:Vue router addRoutes deprecated but I want to add array of routes to Vue router 【发布时间】:2021-05-06 19:02:50 【问题描述】:

这是我的 Main.js。我正在通过 API 调用从数据库中获取路由,但 Vue 路由器版本 4 已弃用 addRoutes 功能。所以现在我一次只能添加一条路线。我不想通过迭代路由/菜单列表来添加路由。请分享您的想法。

new Vue(
    store,
    router,
    render: h => h(App),
    beforeMount() 
      if (this.menuList.length) 
        this.$router.addRoutes(this.menuList);
      
    ,
    computed: 
      ...mapGetters(
        menuList: "menuStore/menuList"
      )
    ,
    
  ).$mount("#app");

【问题讨论】:

【参考方案1】:

要从我的模块添加路由,我使用以下简单代码:

MyRoutes.forEach(function(route)
    router.addRoute(route);
)

旧代码:

router.addRoutes(MyRoutes)

所以你的代码应该是这样的:

this.menuList.forEach(function(route)
  this.$router.addRoute(route)
);

【讨论】:

但是这个菜单列表将包含超过10个菜单项,每个菜单中有超过3个子菜单项。我们该如何处理?

以上是关于Vue 路由器 addRoutes 已弃用,但我想向 Vue 路由器添加路由数组的主要内容,如果未能解决你的问题,请参考以下文章

vue动态添加路由addRoutes之不能将动态路由存入缓存

Vue router4 addRoute动态添加路由,子路由;路由添加后刷新白屏

Vue路由实现:macther中的addRoutes原理

vue新版router.addRoute基础用法

vue新版router.addRoute基础用法

AuthorizationServerConfigurerAdapter 已弃用