12345678910111213141516171819202122 |
- 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']"`)
- }
- }
- }
|