欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解vue + vuex + directives實(shí)現(xiàn)權(quán)限按鈕的思路

 更新時(shí)間:2017年10月24日 16:49:10   作者:lyh2668  
這篇文章主要介紹了詳解vue + vuex + directives實(shí)現(xiàn)權(quán)限按鈕的思路,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

遇到了一個(gè)業(yè)務(wù)場景:

某個(gè)按鈕按下去之前需要先判斷它是否登陸,如果沒有登陸需要跳轉(zhuǎn)到對應(yīng)的登陸頁面,否則就繼續(xù)該按鈕之后的操作。

對于這種問題,很顯然不能每個(gè)按鈕都去判斷,所以我思考了一下結(jié)合自定義指令和vuex完成了相應(yīng)的實(shí)現(xiàn)。

主要的代碼實(shí)現(xiàn)

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

這里封裝了一個(gè)自定義指令,添加了一個(gè)點(diǎn)擊事件,對于已經(jīng)登陸的則調(diào)用傳進(jìn)來的函數(shù),否則通過vuex去控制登陸(此處的登陸是通過彈窗實(shí)現(xiàn)的)

自定義組件使用的時(shí)候也極為簡單

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

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

這里只是完成了簡單的登陸權(quán)限控制,從登陸權(quán)限出發(fā),可以加入更多的權(quán)限控制,比如根據(jù)role角色判斷,然后可以全局地控制權(quán)限,且實(shí)現(xiàn)起來極為精簡。

Github: github.com/lyh2668

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論