需求

在做pc项目时,需要根据角色的不同,控制一些页面的按钮及内容显示,像pc端的管理员和普通用户权限是不一样的

封装指令

新建permission.js文件

import Vue from 'vue'
Vue.directive('has',{bind : function(el,binding){//需要在DOM更新完成以后再执行以下代码,不然通过 el.parentNode 获取不到父节点,因为此时还没有绑定到Vue.nextTick(function(){var role = binding.value.roleif(!Vue.prototype.$_has(role)){el.parentNode.removeChild(el);}})}
})Vue.prototype.$_has = function(role){//当前角色可以从cookie中获取var currentRole = ['editor'] //测试数据//var currentRole = localstorage.getItem('currentRole ')  //真实获取当前角色if(Array.isArray(role)){return currentRole.some(function(ele){return role.indexOf(ele) >= 0})}else{return currentRole.indexOf(role) >= 0;}
}

在main.js文件挂载自定义指令

import has from '@/utils/permission'

页面应用自定义指令

 <van-button round block type="info" v-has="{role:['editor','admin']}">有权限</van-button><van-button round block type="info">无权限</van-button>

vue自定义指令控制角色权限相关推荐

  1. Vue 进阶系列丨自定义指令实现按钮权限功能

    Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨论,达到帮助更多人的目的.若感本文对您有所帮助请点个赞吧! 2013年7月28日,尤雨溪第一次 ...

  2. clientsideevents能定义几个click事件_分享8个非常实用的Vue自定义指令

    作者:lzg9527 https://juejin.cn/post/6906028995133833230 在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也 ...

  3. vuejs 指令封装 button 加载效果_这些Vue自定义指令,让你的项目开发爽到爆

    受 AngularJS 的启发,Vue 内置了一些非常有用的指令(比如v-html 和 v-once等),每个指令都有自身的用途.完整的指令列表可以在这里查看. 这还没完,更棒的是可以开发自定义指令. ...

  4. 超实用:Vue 自定义指令合集

    大家好,我是漫步 前面我已经分享过一篇"分享8个非常实用的Vue自定义指令"文章,里面教了大家如何使用自定义指令,以及几个使用的指令,下面这篇文章也是类似内容,希望你会喜欢.记得查 ...

  5. 15个Vue自定义指令,让你的项目开发爽到爆

    这15个Vue自定义指令,让你的项目开发爽到爆 李中凯老师,8年前端开发,前端负责人,擅长JavaScript/Vue. 受 AngularJS 的启发,Vue 内置了一些非常有用的指令(比如v-ht ...

  6. vue自定义指令封装节流_Vue自定义指令封装节流函数的方法示例

    节流函数是web前端开发中经常用到的一个开发技巧,在input实时搜索,滚动事件等,为了避免过多消耗性能,我们都会使用节流函数.在<JavaScript高级程序设计>一书中有这样的一个例子 ...

  7. vue 自定义指令(directive)实例

    一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例 ...

  8. pyqt5 treeview鼠标右键菜单事件_【动手实践】使用 Vue 自定义指令实现右键菜单...

    本文来自于 神奇的程序员 前言 浏览器里右键时会有一个默认的菜单,在我的开源项目中正好有自定义右键菜单的需求,在npm库找了下与之相关的包,发现都是以组件形式实现的,感觉那种做法太过繁琐. 于是,我就 ...

  9. html标签outclick,vue自定义指令(Directive中的clickoutside.js)的理解

    阅读目录 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: 一般在需要 DOM 操作时我们都需要使用自定义指令的方式去实现,当然一些特殊的事件监听也可以使用指令,例 ...

最新文章

  1. 快速提升网站SEO优化排名技巧有哪些?
  2. jquery 动态生成html后click事件不触发原因
  3. Laravel5.6 实现后台管理登录(自定义用户表登录)
  4. leetcode - two-sum
  5. SAP Cloud Application Programming bookshop 例子的 Fiori Preview
  6. android px,dp,sp大小转换工具
  7. 中国餐馆过程(Chinese restaurant process)
  8. c语言字符串去除第一个和最后一个_387. 字符串中的第一个唯一字符
  9. Python模块 - itertools循环器模块
  10. JAVA写一个小型超市管理系统,Java语言课程设计-小型超市管理系统
  11. 网络安全专栏——telnet远程登录数据包捕获个性化登录账号及密码(图文丰富 保姆级 有几种错误解决方案 为什么不用输入telnet密码就能登录 )
  12. Model based RL概述
  13. 搞机吧 | 利用magisk安装Xposed框架
  14. 如何知道qq号手机号后三位_知道位
  15. 用好这 28 个工具,开发效率爆涨|云效工程师指北
  16. 蓝桥杯 印章Java
  17. 【JAVA】力扣第198场周赛代码+解题思路——【排名第 1 ~ 300 名的参赛者可获「微软中国」简历内推机会】做对前两道就能排到268/ 5778(4.6%)
  18. Skip List——跳表,一个高效的索引技术
  19. 本地项目关联远程git仓库
  20. 案例分享|国内某大行数据平台案例

热门文章

  1. CVPR 2022 在星空下起舞,伯克利联合Intel Labs提出极弱光环境下的视频降噪方案
  2. SAP区分采购订单入库和转储订单入库
  3. matlab卡西欧,史上最全计算器+数学计算工具(工程必备)
  4. mysql查询死锁语句_MYSQL查询数据库死锁和事务的语句
  5. 电子代工和模具选择注意点
  6. 安卓毕业设计-图书馆管理系统-新手练手项目
  7. zoom软件如何同步usb hid 静音功能
  8. 图尔克BL67在孚利模超声波焊接中的应用
  9. 记录一次生产事故MYSQL执行语句错误,回滚数据
  10. 第十届蓝桥杯B组国赛题