vue 自定义指令控制元素的显示隐藏,切换路由,刷新页面,添加指令的元素全部消失了?-灵析社区

一只tomatoo

vue 自定义指令控制元素的显示隐藏,切换路由,刷新页面,添加指令的元素全部消失了? 怎么改呢? 使用方式 Vue.directive("bt-permission", { inserted: (el: any, binding: any, vnode: any) => { let btnPermissionList = vnode.context?.$store?.getters["userStore/getBtnAccess"]; if (btnPermissionList && typeof btnPermissionList === "string") { btnPermissionList = JSON.parse(btnPermissionList); } const [path, code] = binding.value; // 解构赋值获取参数 const formatPath = getLastPartAfterSlash(path); const hasPermission = btnPermissionList[formatPath]; let btnVisibility = true; if (hasPermission) { btnVisibility = hasPermission.some((item: any) => { return item.indexOf(code) !== -1; }); } else { btnVisibility = false; } if (!btnVisibility) { el.style.display = "none"; } }, });

阅读量:264

点赞量:14

问AI
老詹啊老詹
应该是业务逻辑问题吧,看你的指令代码就是到 btnPermissionList 里面找界面的权限数组,然后再去界面的权限数组里面找按钮的权限,你可以在指令中调试试试,看看 "formatPath","hasPermission"的值以及是否可以从"hasPermission"中找出对应的按钮权限,如果找不到那确实是符合期望的,就不应该显示。