# 全局指令


import Vue from 'vue'
import store from '@/store'

/**
 *  v-focus
 */
Vue.directive('focus', {
  inserted: function(el) {
    el.focus()
  }
})

/**
 * v-permission="['01', ''02]"
 */
Vue.directive('permission', {
  inserted(el, binding, vnode) {
    const { value } = binding
    const { roles } = store.getters && store.getters.user_info

    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('指令,没有配备的角色')
    }
  }
})

上次更新时间: 2019-12-1 1:02:28 AM