vue的自定義指令控制選單許可權

2022-05-01 15:33:10 字數 1386 閱讀 3227

使用者登入後,選擇子節點,節點中含有多個選單,可以根據後台返回的許可權資料進行許可權控制

在vue上掛載自定義指令方法,根據後台返回許可權移除相應節點

import cookies from "js-cookie";

const haspermission =

},});

}};export

default haspermission;

main.js中

import haspermission from '@/libs/haspermission';

vue.use(haspermission);

原計畫在路由上掛載相應的許可權資訊

import router from '@/router/index';

//生成路由節點

util.initrouternode = function

(routers, data) , item);

= import(`@/views/$.vue`);

menu.component =lazyloading(menu.component);

if (item.children && item.children.length > 0)

let meta ={};

if(item.title=='雲主機')

}else

}//給頁面新增許可權、標題、第三方網頁鏈結

meta.permtypes = menu.permtypes ? menu.permtypes : null

;

'---------------------meta.permtypes-------------------------')

meta.title = menu.title ? menu.title + " - atos cloud 管理平台" : null

後由於閉包問題沒解決,無法再路由取得相應許可權資訊,故將許可權內容存放cookie;

(閉包解決思路1.1、事件解綁,重新繫結2、把binding掛在到元素上,更新資料後更新binding3、更新父元素--:key="date.now()"

)閉包問題詳情見連線 

Vue自定義指令

vue有很多內建的指令,比如說v on,v model,v clock等等,每乙個指令會完成一定的功能,但是這些內建的指令總會有些侷限性,要是能夠自定義指令就好了 vue的自定義指令分類 全域性指令和區域性指令 vue指令的定義和用法 以全域性指令為例 1.語法 vue.directive 指令id...

vue自定義指令

自定義指令主要有兩種方式。一是在元件裡以directives的選項來自定義指令的內容。這樣的自定義指令是區域性的自定義指令,只在當前的元件裡面才能使用。script export default directives arr arr.join el.style.csstext arr script ...

VUE 自定義指令

dom插入便獲取焦點 vue.directive focus 根據指令的值決定自否獲取焦點 vue.directive focus 注 被拖拽的元素必須有定位樣式 vue.directive drag function el,binding document.nm useup function 拓展...