用v-permission自定义指令控制按钮权限

139 阅读1分钟

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)
    }
  }
}