创建项目
This commit is contained in:
33
code/web/项目源码/src/plugins/directive.js
Normal file
33
code/web/项目源码/src/plugins/directive.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import store from "../store";
|
||||
// 元素编码
|
||||
import elemCode from "../js/elemCode";
|
||||
// 导出
|
||||
export default (app) => {
|
||||
app.directive('has-button', {
|
||||
// 创建完成:在绑定元素的 attribute 或事件监听器被应用之前调用
|
||||
created() {},
|
||||
// 挂载之前:在绑定元素的父组件挂载之前调用
|
||||
beforeMount(el, binding, vnode, prevVnode) {},
|
||||
// 挂载完成:绑定元素的父组件被挂载时调用
|
||||
mounted(el, binding, vnode, prevVnode) {
|
||||
// 获取元素权限
|
||||
const elem_data = store.getters["permission/elem"];
|
||||
const user_type = store.getters["permission/user_type"];
|
||||
// 否则是非超管
|
||||
if(!elem_data) { return false }
|
||||
const elems = elem_data.split(",")
|
||||
const code = elemCode[binding.value] // 等价于elemCode['init:edit']
|
||||
if(!user_type && !elems.includes(code)) {
|
||||
el.parentNode.removeChild(el);
|
||||
}
|
||||
},
|
||||
// 更新之前:在包含组件的 VNode 更新之前调用
|
||||
beforeUpdate() {},
|
||||
// 更新完成:在包含组件的 VNode 及其子组件的 VNode 更新之后调用
|
||||
updated() {},
|
||||
// 销毁之前:在绑定元素的父组件卸载之前调用
|
||||
beforeUnmount() {},
|
||||
// 销毁完成:卸载绑定元素的父组件时调用
|
||||
unmounted() {}
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user