vue3實現(xiàn)按鈕權(quán)限管理的項目實踐
在做后臺管理系統(tǒng)時,經(jīng)常會有權(quán)限管理的功能,這里來記錄一下關(guān)于按鈕權(quán)限管理的實現(xiàn)方法
1、自定義指令 v-permission。新建js文件用來寫指令代碼。
export default function btnPerms(app) {
app.directive('permission', {
mounted(el, binding) {
if (!permsJudge(binding.value)) {
el.parentNode.removeChild(el);
}
function permsJudge(value){
let perms = JSON.parse(localStorage.getItem('perms')) || [];
for (let item of perms) {
if (item === value) {
return true;
}
}
return false;
}
}
});
}2、在main.js里注入;

3、在登錄后臺時獲取后端返回的用戶權(quán)限數(shù)據(jù),并且存入到本地;我這邊是把獲取數(shù)據(jù)的接口放在vuex中的
async _getUserPermission(contxt,payload){
let res = await getUserPermission();
if(res && res.data){
let {code,data,message} = res.data;
if(code == 200){
localStorage.setItem('perms',JSON.stringify(data.resourceList));
contxt.commit('getPerObj',data.resourceList);
}else {
reject(message)
}
}
}然后在登錄頁面調(diào)用這個方法;也可以直接在登錄頁面獲取數(shù)據(jù),這里就不贅述了。

獲取的數(shù)據(jù)大概是這個格式

4、在需要判斷權(quán)限的按鈕調(diào)用指令;

這樣就可以實現(xiàn)按鈕權(quán)限了
到此這篇關(guān)于vue3實現(xiàn)按鈕權(quán)限管理的項目實踐的文章就介紹到這了,更多相關(guān)vue3按鈕權(quán)限管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
VUE+elementui組件在table-cell單元格中繪制微型echarts圖
這篇文章主要介紹了VUE+elementui組件在table-cell單元格中繪制微型echarts圖,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
vue3+Typescript實現(xiàn)路由標(biāo)簽頁和面包屑功能
在使用 Vue.js 開發(fā)后臺管理系統(tǒng)時,經(jīng)常會遇到需要使用路由標(biāo)簽頁的場景,這篇文章主要介紹了vue3+Typescript實現(xiàn)路由標(biāo)簽頁和面包屑,需要的朋友可以參考下2023-05-05

