您好,登錄后才能下訂單哦!
這篇文章主要講解了“vue按鈕怎么實現權限控制”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue按鈕怎么實現權限控制”吧!
在state
中創建buttomPermission
,用于保存后臺接口返回的權限數據。
setPermission
用于接受數據,將頁面權限管理傳入到buttomPermission
對象中。
使用vuex:
Vue.use(Vuex) 創建vue實例 const store = new Vuex.Store({ state: { buttomPermission: {} }, mutations: { setPermission(state, permission) { state.buttomPermission = permission } } }) export default store
import store from './store/index.js' new Vue({ store, el: '#app', render: h => h(App) })
新建directives
文件夾,創建permission.js
文件。
這里使用inserted
函數,在被綁定元素插入父節點時檢測該元素是否有權限。
inserted( el, bindings, vnode ) { }
在按鈕頁面引入和定義 permission
指令,并且在buttom
中寫入指令,綁定指令中相對于的值。
<button v-permission="'add'">添加</button> import permission from './directives/permission' directives: {permission,},
在permission
指令,通過bindings
獲取該按鈕綁定的value
值,然后在buttomPermission
對象中找到,然后判斷是否有權限,如果沒有權限,則刪除該節點。
inserted(el, bindings, vnode) { let btnPermissionValue = bindings.value; let boolean =vnode.context.$store.state.buttomPermission[btnPermissionValue]; !boolean && el.parentNode.removeChild(el); }
將狀態管理數據,通過setPermission
方法傳入到權限管理中
let permissions = {} this.$store.commit("setPermission", permissions);
總的來說,就是通過vuex
定義一個buttomPermission
權限狀態對象,然后再創建一個permissions
指令,通過對每個buttom
按鈕使用permissions
指令,并且綁定該按鈕特定意義的值。然后在permission.js
文件中,獲取當前value值,從buttomPermission
中得到當前按鈕是否有權限,沒有則直接刪除掉當前按鈕節點。
感謝各位的閱讀,以上就是“vue按鈕怎么實現權限控制”的內容了,經過本文的學習后,相信大家對vue按鈕怎么實現權限控制這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。