https://www.bilibili.com/video/BV1H54y1S7mD?p=2&spm_id_from=pageDriver
https://www.cnblogs.com/IrisRise/p/10563441.html
-
初始化路由(使用公用路由表)
const createRouter = () => new Router({ routes, mode: 'history' }) const router = createRouter()
-
根据用户信息(权限)添加路由
if(!store.state.user.hasGetInfo) { const userRole = store.state.user.role const addRouter = userRole === 'city'?[...cityRouters]:[...provinceRouters] router.addRoutes(addRouter) // 添加用户专有路由 router.options.routes = router.options.routes.concat(addRouter) //vuex2.0 不自动更新router.options.routes store.state.app.menuRouters = router.options.routes // 修改vuex中路由表 store.state.user.hasGetInfo = true }
-
退出清空路由表
export function resetRouter(){ const newRouter = createRouter() router.matcher = newRouter.matcher // reset router router.options.routes = routes store.state.app.menuRouters = routes }
-
vue 动态菜单,使用vuex 设置路由表属性(初始化使用公用路由表,添加路由表时修改),解析路由表名字并显示