Vue 自定义指令控制按钮权限

 

Vue自定义指令控制按钮权限

 

1. 定义自定义指令代码

1.1新建 directives.js 文件

复制代码

import Vue from 'vue'
import store from '@/store/index'

// 自定义按钮控制指令
Vue.directive('permission', {
  // 当被绑定的元素插入到DOM中时
  inserted: function (el, attrs) {
    /**
     * 从Vuex中拿到按钮权限列表
     */
    const list = store.getters['account/btnList']

    /**
     * 标签上绑定的数据 arg是指令后面的数据
     * 例如 v-permission:upload
     * arg 就是'upload'
     */
    const { arg } = attrs

    /**
     * 如果权限列表中包含这个按钮的权限就什么都不做
     * 否则就 display:none 隐藏这个按钮
     * 也可以从Dom中删除这个按钮
     * 由于权限不是很敏感所以采用 display:none
     */

    el.style.display = list.includes(arg) ? '' : 'none'
  }
})
复制代码

 

2. 如何使用

 <a-button type="primary" v-permission:custom_button @click="addItem">
    <a-icon type="plus" /> 新增
 </a-button>

 

3. 最后记得在main.js引入

 

如果有更好的方法欢迎指正.

posted @   祁腾飞  阅读(609)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示