vue切换用户时,重置路由
目前路由大多都是后端动态传过来的,不同用户菜单权限会有所不同,在切换用户时,会出现菜单错乱的情况,这时候就需要重置菜单了import Vue from 'vue'import Router from 'vue-router'Vue.use(Router)// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题const originalPush = Router
·
目前路由大多都是后端动态传过来的,不同用户菜单权限会有所不同,在切换用户时,会出现菜单错乱的情况,这时候就需要重置菜单了
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
export let routes = [{
path: '/login',
name: 'login',
omponent: () => import('@/views/login/login'),
}
]
const createRouter = () => new Router({
routes: routes
})
const router = createRouter()
//写一个重置路由的方法,切换用户后,或者退出时清除动态加载的路由
export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher // 新路由实例matcer,赋值给旧路由实例的matcher,(相当于replaceRouter)
}
export default router
更多推荐
已为社区贡献5条内容
所有评论(0)