知食记
搜索文档…
vue-router权限控制

路由元信息(meta)+全局导航守卫

1
router.beforeEach((to,from,next)=>{
2
if(to.meta.roles.includes(role)){
3
next() //放行
4
}esle{
5
next({path:"/404"}) //跳到404页面
6
}
7
})
Copied!

动态添加路由控制

vue-router提供了addRoutes()方法,可以动态注册路由,需要注意的是,动态添加路由是在路由表中push路由,由于路由是按顺序匹配的,因此需要将诸如404页面这样的路由放在动态添加的最后。

填坑

vue-router并没有删除路由的api, 这在某些需要删除的场景下会出现问题。可以这样尝试重置vue-router配置
1
// 定义一个函数来创建router
2
export const createRouter = routes => new VueRouter({
3
mode: 'history',
4
base: process.env.BASE_URL,
5
routes
6
});
7
8
router.match = createRouter(constantRoutes).match;
Copied!
最近更新 1yr ago