Vue.directive指令实现按钮级别权限控制

简介: Vue.directive指令实现按钮级别权限控制

新建 role.js 文件

import Vue from 'vue';
// 获取用户角色, 可以从cookie中获取
function getRole() {
  return ['admin']
}
// 校验用户权限,传入一个数组
function authority(role) {
  return getRole().includes(role[0])
  // return role.includes(getRole())
}
// 注册一个全局自定义指令 `v-role`
Vue.directive('role', {
  inserted: (el, binding, vnode) => {
    // 如果没有权限就移除此节点
    if (!authority(binding.value)) {
      el.parentNode.removeChild(el);
    }
  }
})
export default authority

在main.js 引入role文件

import role from ‘./utils/role.js’

Vue.use(role )

<template>
  <div>
    <div v-role="['user', 'admin', 'superAdmin']">user</div>
    <div v-role="['admin', 'superAdmin']">admin</div>
    <div v-role="['superAdmin']">superAdmin</div>
  </div>
</template>

当 v-role="[‘user’, ‘admin’, ‘superAdmin’]" 时

在getRole 函数有对应的 admin 匹配 , 则当前的线索

喜欢的可以关注 前段面试题小程序, MST题库 ,大量面试题免费看

WX搜索 【MST题库】小程序查看

相关文章
|
22天前
|
JavaScript
在 Vue 中处理组件选项与 Mixin 选项冲突的详细解决方案
【10月更文挑战第18天】通过以上的分析和探讨,相信你对在 Vue 中使用 Mixin 时遇到组件选项与 Mixin 选项冲突的解决方法有了更深入的理解。在实际开发中,要根据具体情况灵活选择合适的解决方案,以确保代码的质量和可维护性。
75 7
|
2月前
|
JavaScript
Vue实现按钮级别权限
文章介绍了在Vue中实现按钮级别权限的两种方法:使用自定义Vue指令和使用v-if指令配合自定义方法。
25 4
Vue实现按钮级别权限
|
1月前
|
存储 JavaScript UED
在 Vue 组件中动态切换全局样式
【10月更文挑战第5天】
22 1
|
6月前
|
JavaScript
Vue控制是否禁用disabled属性
Vue控制是否禁用disabled属性
80 1
|
6月前
|
JavaScript
组件中写选项的顺序(vue的问题)
组件中写选项的顺序(vue的问题)
32 0
|
6月前
|
JavaScript 前端开发
Vue状态管理:请解释Vuex中的action是什么?它们有什么用途?
Vue状态管理:请解释Vuex中的action是什么?它们有什么用途?
366 2
|
6月前
|
前端开发
Vue3中样式绑定的使用方法、相关指令和一些实际应用场景
Vue3中样式绑定的使用方法、相关指令和一些实际应用场景
295 0
|
JavaScript 前端开发 开发者
vue 语法--表单取值,组件通信
vue 语法--表单取值,组件通信
49 0
07-Vue之本地应用v-show/v-if指令
07-Vue之本地应用v-show/v-if指令
|
JavaScript 数据安全/隐私保护
vue实现按钮功能级权限控制
vue实现按钮功能级权限控制
363 0
vue实现按钮功能级权限控制