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

Jit*_*yan 6 javascript routes vue.js vue-router vue-router4

这是我的 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");
Run Code Online (Sandbox Code Playgroud)

Unc*_*oke 2

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

MyRoutes.forEach(function(route){
    router.addRoute(route);
})
Run Code Online (Sandbox Code Playgroud)

旧代码:

router.addRoutes(MyRoutes)
Run Code Online (Sandbox Code Playgroud)

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

this.menuList.forEach(function(route){
  this.$router.addRoute(route)
});
Run Code Online (Sandbox Code Playgroud)