import Vue from 'vue' import Store from '@/store' /** * 權限控制按鈕顯示指令 * @params {Array[String,Boolean]} [權限code碼,其他控制條件] */ function changeHaspms(el, binding){ if (!permissionJudge(binding.value)) { el.style.display="none" }else{ el.style.display="" } function permissionJudge(value) { const [code,otherFlag=true] = value const list = Store.getters.permissions const hasPms = list.includes(code) return hasPms && otherFlag } } Vue.directive('haspms', { bind: function(el, binding,vnode) { changeHaspms(el, binding) }, update(el, binding,vnode){ changeHaspms(el, binding) } })
使用
<li @click="updateOrganizeStatus($event,organizeItem)" v-haspms="['PZZX.ZZGL.QY',organizeItem.status === 0]">啟用 </li>