zoukankan      html  css  js  c++  java
  • Vue 自定义指令实现权限控制(按钮级)

    在用户登陆后,根据用户id读取用户的所有权限数据,放入本地的sessionStorage进行存储(这里我是拿到权限按钮按钮的标识,英文名称。把他们合成一个字符串存储在 btnPowerString 中。),之后,定义指令,如果用户含有此按钮权限,则在页面显示出来:

    <body>
        <div id="app">
    
            <div style=" 100px;height: 100px;background-color: pink;" v-has="{role:['editor','admin']}"></div>
    
        </div>
    </body>
    <script type="text/javascript">
        
        Vue.directive('has',{
    
            bind : function(el,binding){
    
                //需要在DOM更新完成以后再执行以下代码,不然通过 el.parentNode 获取不到父节点,因为此时还没有绑定到
    
                Vue.nextTick(function(){
                    var role = binding.value.role
                    if(!Vue.prototype.$_has(role)){
                        el.parentNode.removeChild(el);
                    }
                })
            }
        })
    
        Vue.prototype.$_has = function(role){
    
            //当前角色可以从cookie中获取
            var currentRole = ['editor','reader']
    
            if(Array.isArray(role)){
                return currentRole.some(function(ele){
                    return role.indexOf(ele) >= 0
                })
    
            }else{
                return currentRole.indexOf(role) >= 0;
            }
        }
    
    
        var  app = new Vue({
            el : "#app"
        })
    
    </script>
  • 相关阅读:
    打包压缩文件命令
    用户与组管理命令
    cut 命令 通过列来提取文本字符
    linux文件拼接命令 paste
    shell 指定范围产生随机数
    shell 脚本随机抽取班级学生
    shell 输出九九乘法表
    shell 判断语句
    linux 排序命令sort
    linux之PATH环境变量
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9923115.html
Copyright © 2011-2022 走看看