ddRouters()不生效
执行完addRouters()后,我查看了store里的routes,已经有将动态路由添加进去,但是菜单中还是没有显示
查看了/layout/components/Sidebar/index.vue,发现使用的是this.$router.options.routes而 不 是store中的 , 所 以 我 们 需 要 在 router.addRoutes()后 也 修 改 router.options.routes而不是store中的,所以我们需要在addRouters()后也修改this.router.options.routes而不是store中的,所以我们需要在addRouters()后也修改this.router.options.routes的值,或者直接修改下面routes()方法,直接使用store中的routes
routes() {
return this.$router.options.routes
}
修改后的permission.js
const roles = await store.dispatch('user/getInfo')
await store.dispatch('permission/generateRoutes', roles).then(res => {
router.addRoutes(res)
router.options.routes = store.getters.routes
next({ ...to, replace: true })
})