Vue 指令实现按钮级别权限管理功能
在项目中经常有需求要根据用户的权限对界面上的元素进行控制,这里介绍了一直简单的实现,仅供参考。
当前用户的权限列表储存在store里,也可以是其他地方。
指令
//src/directives/permission.js
importVuefrom'vue';
importstorefrom'@/store';
import{get}from'@/utils';
//是否有权限
consthasPermission=userPermission=>{
letuserPermissionList=Array.isArray(userPermission)?userPermission:[userPermission];
//当前用户的权限列表
letpermissionList=get(store,'getters["user/permission"]',[]);
returnuserPermissionList.some(e=>permissionList.includes(e));
};
//指令
Vue.directive('per',{
bind:(el,binding,vnode)=>{
if(!hasPermission(binding.value)){
el.parentNode.removeChild(el);
}
}
});
//全局判断方法
Vue.prototype.$_has=hasPermission;
使用方法
在mian.js引入
admin可见 是否为admin:{{$_has('admin')}}//true 总结
以上所述是小编给大家介绍的Vue指令实现按钮级别权限管理功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。