创建按钮权限指令

2022-03-16  本文已影响0人  noyanse

+directive/permission.js

import Vue from 'vue';

Vue.directive('permission', {
  inserted: function (el, binding) {
    const { value } = binding

    const buttonList = store.state.user.permission || []

    if (value) {
      const hasPermission = buttonList.some(btnKey => btnKey === value)
      if (!hasPermission) {
        el.parentNode && el.parentNode.removeChild(el)
      }
    } else {
      throw new Error(`需要指定权限标识! 如:v-permission="'table_del'"`)
    }
  }
})

import directive from './directive/permission' // 引入directive

Vue.use(directive) // 引入directive
上一篇 下一篇

猜你喜欢

热点阅读