VUE前端按钮权限控制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lhc2207221755/article/details/78807189

在用户登陆后,根据用户id读取用户的所有权限数据,放入本地的storage进行存储,之后,定义指令,如果用户含有此按钮权限,则在页面显示出来:

/**权限指令**/
    Vue.directive('has', {
      bind: function(el, binding) {
        if (!Vue.prototype.$_has(binding.value)) {
          el.parentNode.removeChild(el);
        }
      }
    });
    //权限检查方法
    Vue.prototype.$_has = function(value) {
      debugger
      let isExist=false;
      let buttonpermsStr=sessionStorage.getItem("buttenpremissions");
      if(buttonpermsStr==undefined || buttonpermsStr==null){
        return false;
      }
      let buttonperms=JSON.parse(buttonpermsStr);
      for(let i=0;i<buttonperms.length;i++){
        if(buttonperms[i].perms.indexOf(value)>-1){
          isExist=true;
          break;
        }
      }
      return isExist;
    };

页面上使用方式:

<el-button type="primary" class="btns first" @click="querylist" v-has="'sys_user_list'">查询</el-button>
          <el-button class="btns" @click="showAddView" v-has="'sys_user_save'">新增</el-button>
          <el-button  class="btns" @click="modifyUserItem" v-has="'sys_user_update'">修改</el-button>
          <el-button class="btns" @click="delItem" v-has="'sys_user_delete'">删除</el-button>
阅读更多

扫码向博主提问

水田如雅

博客专家

我们的征途是星辰大海
  • 擅长领域:
  • Java
  • Hbase
  • Js
  • Vue
  • Android
去开通我的Chat快问
换一批

没有更多推荐了,返回首页