1.src下新建directives文件夹新建index.js文件
import Vue from 'vue'
Vue.directive('permission', {
inserted: checkPermission,
})
function checkPermission(el, binding) {
const { value } = binding
const has = hasPermission(value)
if (!has) {
el.parentNode && el.parentNode.removeChild(el)
}
}
function hasPermission(permission) {
const permissionList = ['add', 'edit', 'audit', 'del', 'invalid']
return permissionList.some(item => item === permission)
}
2.main.js引入
import './directives'
3.页面使用
<el-button
v-permission="'add'"
size="medium"
type="primary"
@click.native.prevent="add">
添 加
</el-button>