VUE前端按钮权限控制

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

在用户登陆后,根据用户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>
          

点这里可以跳转到人工智能网站

发表评论