vue使用自定义指令实现按钮权限展示功能
更新时间:2022年04月29日 09:28:20 作者:suoh's Blog
这篇文章主要介绍了vue中使用自定义指令实现按钮权限展示功能,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、在src下新建directive文件夹
二、定义index.js文件,在vue上注入自定义指令
import hasBtn from './permission/hasBtn' const install = function (Vue) { Vue.directive('hasBtn', hasBtn) } if (window.Vue) { window['hasBtn'] = hasBtn Vue.use(install); // eslint-disable-line } export default install
三、编写自定义指令
hasBtn.js文件
/** * 设置操作权限标识符 */ export default { inserted(el, binding, vnode) { /** 从binding中获取dom元素的value值 */ const { value } = binding /** 存放value值 */ const btn_permission = value; /** 拿到所有具备权限按钮的集合,通过传入的按钮id进行匹配 */ const permissions = JSON.parse(sessionStorage.getItem('btnarr')) /** 利用some查询,只要有一个元素满足条件就返回true,全部不满足返回false */ var hasPermissions = permissions.some(permission => { return btn_permission == permission.menuId }) /** 传入的按钮id不存在集合里面就移除该节点 */ if (!hasPermissions) { el.parentNode && el.parentNode.removeChild(el) } } }
四、使用
例如在一个vue页面里面的一个新增按钮加上v-hasBtn属性
<el-button v-hasBtn="15" type="primary" icon="el-icon-plus" size="mini" @click="addRelease">新增</el-button>
直接传入该按钮的id,即 v-hasBtn="15",vue的自定义指令都是用v-开头即可,此时就可以触发自定义指令定义的函数,达到按钮权限可控的目的。
到此这篇关于vue中使用自定义指令实现按钮权限展示问题的文章就介绍到这了,更多相关vue自定义指令按钮权限展示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue3界面使用router及使用watch监听router的改变
vue2中使用router非常简单,但是vue3中略微有些改变,通过本文讲解下他的改变,对vue3 watch监听router相关知识感兴趣的朋友一起看看吧2022-11-11ant-design-vue前端UI库,如何解决Table中时间格式化问题
这篇文章主要介绍了ant-design-vue前端UI库,如何解决Table中时间格式化问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03
最新评论