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

首頁 > 編程 > JavaScript > 正文

記一次Vue.js混入mixin的使用(分權(quán)限管理頁面)

2019-11-19 11:45:45
字體:
供稿:網(wǎng)友

需求背景:在一個(gè)后臺(tái)的管理系統(tǒng)中,不同的用戶角色對(duì)應(yīng)不同的用戶權(quán)限。現(xiàn)要求,同一個(gè)頁面對(duì)有操作權(quán)限的用戶來說是可操作的,對(duì)無操作權(quán)限的用戶來說是只讀的,即操作按鈕均失效。系統(tǒng)用Vue.js開發(fā)。

一、mixin的概念

官方文檔這么說:混入是一種分發(fā)Vue組件中可服用功能的非常靈活的方式。混入對(duì)象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。

我自己的理解:混入對(duì)象具有Vue組件可以聲明的所有選項(xiàng),如[components]、[computed]、[methods]等;當(dāng)組件使用混入對(duì)象時(shí),該組件也同時(shí)擁有了混入對(duì)象的選項(xiàng)。

二、思路

按照開篇寫的需求描述,如果用一般的方法,我們通常會(huì)在每個(gè)頁面的vue文件中,判斷當(dāng)前用戶是否具有操作該頁面的權(quán)限,根據(jù)判斷結(jié)果來展示頁面。然而,這種方法會(huì)導(dǎo)致大量代碼的重復(fù),徒然增加了一些無意義的工作量。因此,需要有一個(gè)可以復(fù)用的方法。

故此,我們可以把上述的可復(fù)用的辦法放在混入對(duì)象的選項(xiàng)當(dāng)中。

三、代碼展示

在混入對(duì)象的computed選項(xiàng)中,我們有這幾個(gè)方法,來判斷用戶所擁有的的‘編輯'、‘查看'、‘刪除'等權(quán)限。

computed: {  allowedToCreate() {   return this.hasOperatePermissions('createRole');  },  allowedToEdit() {   return this.hasOperatePermissions('editRole');  },  allowedToCheckIn() {   return this.hasOperatePermissions('checkInRole');  },  allowedToDelete() {   return this.hasOperatePermissions('deleteRole');  },   },

注意,如果普通組件中引用了混入對(duì)象,那么這些計(jì)算屬性會(huì)自動(dòng)成為組件的計(jì)算屬性。具體如何創(chuàng)建一個(gè)混入對(duì)象,并且引入該混入對(duì)象,這里不細(xì)講,可參考官方文檔。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 图们市| 紫金县| 文登市| 邵东县| 南通市| 喀喇| 清远市| 株洲县| 勃利县| 饶平县| 托克托县| 丹巴县| 濮阳市| 巴马| 宜兴市| 微山县| 洪洞县| 榆社县| 加查县| 石首市| 抚宁县| 茶陵县| 清苑县| 新乐市| 贵溪市| 都江堰市| 沛县| 烟台市| 贡觉县| 宣化县| 紫云| 永寿县| 民丰县| 长武县| 南丹县| 德州市| 随州市| 泽普县| 泽普县| 吴堡县| 荔波县|