前几天,做项目发觉addRouter不生效(以前用的是addRouters),忙活了半天也没找出原因,所以换了个思路.
注册所有路由,在全局路由守卫里根据后端传来的权限进行判断,如果存在就跳转,如果不存在就让其跳转404页面
//pathnow是角色拥有的路由
if (pathnow[to.name]) {
//存在就通过
next()
} else {
if (to.path === '/404') {
next()
} else {
next('/404')
}
}
利用全局路由守卫to.name路由名称来判断
!!!if (to.path === '/404') { next() } else { next('/404') }
很重要不然就会产生新的跳转,无限刷新