Vue + TS + directive + store 完成項目按鈕權限控制

今天遇到按鈕權限控制這個需求田盈,像往常一樣肄满,百度一哈:第一種:寫個全局方法帚呼,然后每個地方用(略顯low),作為一個優(yōu)秀的社會主義接班人是不允許自己寫出這么菜雞的代碼的 阐斜,于是我選擇第二種方法: 用Vue的directive來完成這個任務:

首先衫冻,我們先看看官網(wǎng)上對于指令的例子:

官網(wǎng)例子

我用ts實現(xiàn)這個指令:

ts實現(xiàn)

接下來進入我們解決我們的需求:

我們先用store去存儲后臺返回的按鈕權限列表: 用字典(key: value)的這樣數(shù)據(jù)結(jié)構(gòu)來存;在指令中的vnode中谒出,我們可以獲取到當前路由各種屬性隅俘,我使用的是路由的title做為標識;這樣拿到對應位置的按鈕權限列表


數(shù)據(jù)例子

然后進行我們指令的編寫:假設有十個頁面 每個頁面上有十條數(shù)據(jù)笤喳,每條數(shù)據(jù)有兩個按鈕为居,就需要有200次操作,所以指令這邊不能放太多的復雜邏輯杀狡;同樣蒙畴,每次從store里面獲取數(shù)據(jù)也是一個耗費時間和性能的操作;所以就產(chǎn)生了如下代碼(在main.ts 添加指令):


main.ts

同時在按鈕上添加key值和v-has指令捣卤,就可以做到按鈕級別權限控制 :?


按鈕權限控制

其中有一個地方遇到了坑:就是在最開始時忍抽,我使用的是bind方式,于是在最后移除節(jié)點的時候董朝,el.parentNode為null鸠项,就會報錯,查閱文檔才找到原因:原來是對應的鉤子函數(shù)使用的不對子姜,無法獲取到el.parentNode祟绊;改用inserted后,正常使用哥捕;


vue-directive 鉤子函數(shù)

有這么多鉤子函數(shù)牧抽,也能讓指令適用于更多的場景之中,這也是我第一次寫指令遥赚,感覺很棒扬舒,產(chǎn)生了很多新的想法;

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凫佛,一起剝皮案震驚了整個濱河市讲坎,隨后出現(xiàn)的幾起案子孕惜,更是在濱河造成了極大的恐慌,老刑警劉巖晨炕,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衫画,死亡現(xiàn)場離奇詭異,居然都是意外死亡瓮栗,警方通過查閱死者的電腦和手機削罩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來费奸,“玉大人弥激,你說我怎么就攤上這事』醯耍” “怎么了秆撮?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長换况。 經(jīng)常有香客問我职辨,道長,這世上最難降的妖魔是什么戈二? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任舒裤,我火速辦了婚禮,結(jié)果婚禮上觉吭,老公的妹妹穿的比我還像新娘腾供。我一直安慰自己,他們只是感情好鲜滩,可當我...
    茶點故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布伴鳖。 她就那樣靜靜地躺著,像睡著了一般徙硅。 火紅的嫁衣襯著肌膚如雪榜聂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天嗓蘑,我揣著相機與錄音须肆,去河邊找鬼。 笑死桩皿,一個胖子當著我的面吹牛豌汇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泄隔,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼拒贱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佛嬉?” 一聲冷哼從身側(cè)響起柜思,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤岩调,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赡盘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡缰揪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年陨享,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钝腺。...
    茶點故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡抛姑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出艳狐,到底是詐尸還是另有隱情定硝,我是刑警寧澤,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布毫目,位于F島的核電站蔬啡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏镀虐。R本人自食惡果不足惜箱蟆,卻給世界環(huán)境...
    茶點故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刮便。 院中可真熱鬧空猜,春花似錦、人聲如沸恨旱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搜贤。三九已至谆沃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間入客,已是汗流浹背管毙。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留桌硫,地道東北人夭咬。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像铆隘,于是被迫代替她去往敵國和親卓舵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 爸爸媽媽吵架了膀钠,夫妻間有些小摩擦很正常掏湾,而我們家每一次因為一點小事產(chǎn)生的摩擦過程都顯得那么驚心動魄裹虫,小的時候無奈與...
    昱錦CC閱讀 292評論 0 0
  • 依次執(zhí)行下面方法就可以解決無法啟動問題(前提是java環(huán)境和openfire都正確安裝) sudo chmod -...
    木子知日_閱讀 374評論 0 0
  • 果然,在小鎮(zhèn)上的生活融击,是非常適合養(yǎng)老的筑公。早上的太陽總是有一種慵懶的感覺,讓人在睡夢中留戀往返尊浪,就連中午的太陽也不像...
    fly仲閱讀 185評論 0 0
  • 1 開始 ??筆者真正開始接觸敏捷開發(fā)的時間只有1年半的時間匣屡,在這之前,參與的項目大都算是瀑布式開發(fā)拇涤。如果把瀑布式...
    spiolynn閱讀 288評論 0 5