blob: 17b85d79632f76a36e06bb81c5e20bd06ad55b74 [file] [log] [blame]
huibing.xie1f1606f2018-08-20 15:46:55 +08001
2import store from '@/store'
3
4export default{
5 inserted(el, binding, vnode) {
6 const { value } = binding
7 const roles = store.getters && store.getters.roles
8
9 if (value && value instanceof Array && value.length > 0) {
10 const permissionRoles = value
11
12 const hasPermission = roles.some(role => {
13 return permissionRoles.includes(role)
14 })
15
16 if (!hasPermission) {
17 el.parentNode && el.parentNode.removeChild(el)
18 }
19 } else {
20 throw new Error(`need roles! Like v-permission="['admin','editor']"`)
21 }
22 }
23}