Vue.directive指令实现按钮级别权限控制
Vue.directive文档:https://cn.vuejs.org/v2/guide/custom-directive.html使用定义一个按钮级别指令// 获取用户角色, 可以从cookie中获取function getRole() {return 'admin'}// 校验用户权限,传入一个数组function hasPermission(role) {r...
·
Vue.directive文档:
https://cn.vuejs.org/v2/guide/custom-directive.html
使用
定义一个按钮级别指令
// 获取用户角色, 可以从cookie中获取
function getRole() {
return 'admin'
}
// 校验用户权限,传入一个数组
function hasPermission(role) {
return role.includes(getRole())
}
// 注册一个全局自定义指令 `v-role`
Vue.directive('role', {
inserted: (el, binding, vnode) => {
// 如果没有权限就移除此节点
if (!hasPermission(binding.value)) {
el.parentNode.removeChild(el);
}
}
})
使用示例
<template>
<div>
<div v-role="['user', 'admin', 'superAdmin']">user</div>
<div v-role="['admin', 'superAdmin']">admin</div>
<div v-role="['superAdmin']">superAdmin</div>
</div>
</template>
问题:el.parentNode获取不到
将bind替换为inserted
更多推荐
已为社区贡献51条内容
所有评论(0)