vue--按鈕級別的權限控制+插件的使用


 

實現原理是根據v-if=true則展示按鈕,否則不展示。

實現步驟:

1,用戶登錄成功后,將獲取到的permissions放到localStorage進行保存。

2,寫一個全局方法。此方法的入參為當前按鈕的權限,比如somebtn:edit。最終輸出的是布爾值,當前用戶是否擁有此按鈕的權限。

3,在組件中使用此方法。

 

具體講講第2步的全局方法應該怎么使用:

全局方法的理論,他其實是向vue實例(Vue.prototype)添加的一個方法,這個方法在Vue初始化之前進行添加,這樣Vue實例化之后,所有的組件都可以使用這個方法。根本上講,就是Vue構造函數的一個實例方法。

使用方法,官方簡單介紹了一下,那么這里就稍微詳情的講一下:

1,新建一個hasAuth.js文件,export的是Plugin:

 1 let permissonFromStorage= window.localStorage;
 2 
 3  
 4 
 5 Plugin.install = function (Vue) {
 6 
 7   Vue.prototype.$auth = function (permission) {
 8 
 9     return permissonFromStorage.indexOf(permission)>-1;
10 
11   };
12 
13 };
14 
15 Vue.use(Plugin);
16 
17  
18 
19 export default Plugin;

 

 

2,main.js中,引入hasAuth

 1 import '@plugins/globalMethod'; 

 

3,頁面上使用:

1 Data:
2 
3 data(){
4 
5 return{
6 
7 hasSomeAuth:this.$auth(‘btn:edit’)}
8 
9 }

 

Template:

<button v-if=”hasSomeAuth”>按鈕</button>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM