const?has?=?Vue.directive('has',?{
??bind:?function?(el,?binding,?vnode)?{
????//?獲取按鈕權(quán)限
????if?(!Vue.prototype.$_has(binding.value))?{
??????//?el.parentNode.removeChild(el);
??????el.style.display?=?'none';
????}
??},
??update:?function?(el,?binding,?value)?{
????if?(!Vue.prototype.$_has(binding.value))?{
??????el.style.display?=?'none';
????}
??}
})
/**
?*?判斷用戶是否擁有操作權(quán)限
?*?根據(jù)傳入的權(quán)限標(biāo)識(shí)敏释,查看是否存在用戶權(quán)限標(biāo)識(shí)集合
?*?@param?perms
?*/
Vue.prototype.$_has?=?function?(perms)?{
??let?isExist?=?false
??let?permissions?=?store.state.perm
??if?(getStore('hpt-account')?==?0)?{
????isExist?=?true;
??}?else?{
????for?(let?i?=?0,?len?=?permissions.length;?i?<?len;?i++)?{
??????if?(permissions[i]?===?perms)?{
????????isExist?=?true;
????????break
??????}
????}
??}
??return?isExist
};
export?{has}
然后在main.js中引入
import?has?from?'./utils/permission'
最終在頁(yè)面中使用 v-has="xxx"即可