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自定义指令按钮权限展示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Element中el-input密码输入框浏览器自动填充账号密码问题的解决方法
自己写了一个管理系统,登录成功之后,浏览器提示我保存账号密码,每次登录时就会自动回填记住的账号密码,方便用户快速登录,下面这篇文章主要给大家介绍了关于Element中el-input密码输入框浏览器自动填充账号密码问题的解决方法,需要的朋友可以参考下2022-09-09
详解在vue-cli项目中使用mockjs(请求数据删除数据)
本篇文章主要介绍了在vue-cli项目中使用mockjs(请求数据删除数据),具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
这篇文章主要介绍了为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题,需要的朋友可以参考下2018-04-04
Vue2+Echarts封装组件之专注逻辑,图表生成自动化方式
文章介绍了使用Vue2封装的Echarts图表组件,简化了图表的生成和渲染过程,提供了多种图表类型和交互功能,提高了开发效率,帮助开发者专注于业务逻辑的开发2025-02-02


最新评论