国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解vue + vuex + directives實現權限按鈕的思路

2019-11-19 15:05:37
字體:
來源:轉載
供稿:網友

遇到了一個業務場景:

某個按鈕按下去之前需要先判斷它是否登陸,如果沒有登陸需要跳轉到對應的登陸頁面,否則就繼續該按鈕之后的操作。

對于這種問題,很顯然不能每個按鈕都去判斷,所以我思考了一下結合自定義指令和vuex完成了相應的實現。

主要的代碼實現

const directive = Vue.directive('permission-click', { bind: (el, binding, vnode) => {  el.addEventListener('click', (e) => {   if (!store.getters.isLogin) {    store.dispatch('showLogin')   } else {    typeof binding.value === 'function' && binding.value()   }  }) }})

這里封裝了一個自定義指令,添加了一個點擊事件,對于已經登陸的則調用傳進來的函數,否則通過vuex去控制登陸(此處的登陸是通過彈窗實現的)

自定義組件使用的時候也極為簡單

<div class="" v-permission-click="doSomething"> ...</div>

vuex里面的showLogin這個action無非就是對login的顯示隱藏flag的操作。

這里只是完成了簡單的登陸權限控制,從登陸權限出發,可以加入更多的權限控制,比如根據role角色判斷,然后可以全局地控制權限,且實現起來極為精簡。

Github: github.com/lyh2668

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐石市| 文成县| 金寨县| 册亨县| 德阳市| 石门县| 娄底市| 孝昌县| 外汇| 新安县| 宝山区| 平原县| 伊金霍洛旗| 大埔县| 枣强县| 谷城县| 垣曲县| 新密市| 滦南县| 渝北区| 库车县| 随州市| 大冶市| 隆尧县| 珠海市| 永福县| 诏安县| 永顺县| 于都县| 寿光市| 陆丰市| 龙海市| 鄂托克旗| 柳林县| 赤城县| 富裕县| 旬阳县| 平顶山市| 太康县| 桃江县| 德州市|