1、思路
1.用户登录完之后后台把该用户的所有按钮(已分配给该用户权限的按钮)返回过来,前端拿到后可以存储在sessionStorage里。
2.在code里新建一个funCode.js,里边定义所有的按钮(所有的)。
3.用自定义指令判断:如果funCode.js里有sessionStorage里的值则返回true,返回true的时候让这个node节点显示,否则则不显示。
2、代码
//按钮权限指令
function permissionJudge(value){
let buttons = sessionStorage.getItem('buttons')&&JSON.parse(sessionStorage.getItem('buttons'))
for(let item of buttons){
if(item.funCode == value){
return true
}
}
return false
}
export default{
name:'permission',
inserted:function(el,binding){
if(!permissionJudge(binding.value)){
el.parentNode.removeChild(el)
}
}
}