- 在main.js全局定义自定义权限指令 v-auth
const auth = Vue.directive('auth', {
inserted: function (el, binding) {
if (!Vue.prototype.$_has(binding.value)) {
el.parentNode.removeChild(el)
}
}
})
Vue.prototype.$_has = function (value) {
let isExist = false
const buttonpermsStr = sessionStorage.getItem('buttenPermAdmin')
if (buttonpermsStr === undefined || buttonpermsStr === null) {
return false
}
const buttonperms = JSON.parse(buttonpermsStr)
const arr = value.split(',')
arr.map(valueItem => {
buttonperms.some(item => {
if (item === valueItem) {
isExist = true
}
})
})
getAuthorizedBtnAuthCode().then(res => {
if (res.success) {
const list = JSON.stringify(res.data)
sessionStorage.setItem('buttenPermAdmin', list)
}
})
<template>
<a-button type="primary" icon="plus" v-auth="query">查询</a-button>
</template>
<script>
export default {
data () {
return {
query: 'admin:user:query'
}
}
}
</script>