在vue项目中,大家做权限管理的时候,大部分是采用addRoute方案来实现。
在之前使用vue-router的时候,大家在动态追加完路由后,还要再追加一下404页面,如果在路由文件中直接写好404页面,那么刷新页面的时候就会跳转到404页面,原因在于,我们在加动态路由前,就配置了通配符404路由.改成动态添加过路由后,再最后push一下404通配符,这样就可以了。
路由全局守卫:
router.beforeEach(async (to, from, next) => {
...// 其他逻辑省略,只看addRoutes部分
try {
await store.dispatch('GetUserInfo')
const res = await store.dispatch('getAsyncRoutes')
const asyncRoutes = handleRoutes(res)
router.addRoutes(asyncRoutes);
router.