91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue按鈕怎么實現權限控制

發布時間:2021-12-23 14:50:04 來源:億速云 閱讀:445 作者:iii 欄目:開發技術

這篇文章主要講解了“vue按鈕怎么實現權限控制”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue按鈕怎么實現權限控制”吧!

    一、步驟

    1.定義buttom權限

    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

    2.定義store

    import store from './store/index.js'
    
    new Vue({
        store,
        el: '#app',
        render: h => h(App)
    })

    3.創建permission指令

    新建directives文件夾,創建permission.js文件。

    這里使用inserted函數,在被綁定元素插入父節點時檢測該元素是否有權限。

    inserted( el, bindings, vnode ) { }

    4.使用permission指令

    在按鈕頁面引入和定義 permission指令,并且在buttom中寫入指令,綁定指令中相對于的值。

     <button v-permission="'add'">添加</button>
    import permission from './directives/permission'
    directives: {permission,},

    5.刪除無權限數據

    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);
        }

    6.傳入狀態管理數據

    將狀態管理數據,通過setPermission方法傳入到權限管理中

    let permissions = {}
    this.$store.commit("setPermission", permissions);

    二、概況

    總的來說,就是通過vuex定義一個buttomPermission權限狀態對象,然后再創建一個permissions指令,通過對每個buttom按鈕使用permissions指令,并且綁定該按鈕特定意義的值。然后在permission.js文件中,獲取當前value值,從buttomPermission中得到當前按鈕是否有權限,沒有則直接刪除掉當前按鈕節點。

    感謝各位的閱讀,以上就是“vue按鈕怎么實現權限控制”的內容了,經過本文的學習后,相信大家對vue按鈕怎么實現權限控制這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    vue
    AI

    观塘区| 安顺市| 屏南县| 岱山县| 苍山县| 汉川市| 潢川县| 桓台县| 绍兴县| 维西| 建始县| 山西省| 台山市| 合江县| 周宁县| 山东| 开封县| 巴青县| 曲阜市| 临邑县| 康平县| 福州市| 望谟县| 河津市| 瑞金市| 兴业县| 临澧县| 灵川县| 龙陵县| 隆回县| 蓬莱市| 铁岭县| 台安县| 桃园市| 老河口市| 菏泽市| 嘉定区| 西丰县| 昭苏县| 汝南县| 奉新县|