123456789101112131415161718192021222324 |
-
- import store from '@/store'
-
- export default{
- inserted(el, binding, vnode) {
- const { value } = binding
- const roles = store.getters && store.getters.roles
-
- if (value && value instanceof Array && 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-permission="['admin','editor']"`)
- }
- }
- }
|