/* * @Author: your name * @Date: 2021-11-01 10:33:45 * @LastEditTime: 2021-12-28 11:34:01 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \Foshan4A\src\config\checkPermission.js */ import Vue from 'vue' import store from '@/store' function checkPermission (el, binding) { const { value } = binding const roles = store.getters && store.getters.roles if (value && value instanceof Array) { if (value.length > 0) { const permissionRoles = value const hasPermission = roles.some(role => { return permissionRoles.includes(role) }) if (!hasPermission) { el.parentNode && el.parentNode.removeChild(el) } } } else { throw new Error(`need roles! Like v-is="['admin','editor']"`) } } Vue.directive( 'is', { inserted (el, binding) { checkPermission(el, binding) }, update (el, binding) { checkPermission(el, binding) } } )