后台管理菜单动态配置,根据用户权限进行动态生成。这如何通过异步请求实现?
这个之前是前端实现的,通过自定义了一个指令,<v-link v-role="'xxx'">,然后在指令里判断store里的role是否包含xxx,如果没就remove掉这个dom
role: {
// 指令的定义 (TBD:有没有before'inserted'这样的钩子函数用?)
inserted: (el, binding, vnode) => {
// 权限
if (binding.value) {
el.parentElement.removeChild(el)
}
}
}```
目前我们的做法是:router.js
静态, 然后在登录的时候获取渲染菜单的数据(即权限), 在routes
的beforeEach
中判断跳转时用户是否具有该权限, 有则正常跳转, 没有则不跳转(或显示404)
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.1k 阅读
2 回答1.2k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
可以根据用户登录时,传送权限到前端,然后前端根据权限在router的部分进行权限判断动态加载某些菜单