import store from '@/store'
import { nextTick } from 'vue'
export default {
mounted(el, binding) {
const { value } = binding
const permissionRoles = value
nextTick(() => {
const roles = store.getters.roles
if (value && value instanceof Array && value.length > 0) {
const hasPermission = roles.some(role => {
return permissionRoles.includes(role) || permissionRoles.includes('any')
})
if (!hasPermission) {
el.parentNode && el.parentNode.removeChild(el)
}
}
})
}
}
// export default {
// mounted(el, binding) {
// const permission = Array.isArray(binding.value) ? binding.value[0] : binding.value // 获取到 v-permission的值,传数组取第一个(要取多个以后扩展)
// if (permission) {
// const hasPermission = checkArray(permission)
// if (!hasPermission) {
// // 没有权限 移除Dom元素
// el.parentNode && el.parentNode.removeChild(el)
// }
// }
// }
// }
// function checkArray(key) {
// const arr = ['admin', 'xueyue', 'any']
// if (~arr.indexOf(key)) {
// return true // 有权限
// } else {
// return false // 无权限
// }
// }
v-permission权限配置
最新推荐文章于 2024-05-09 14:11:12 发布