mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-11-09 13:53:38 +08:00
16 lines
458 B
TypeScript
16 lines
458 B
TypeScript
import { hasPerms } from "@/utils/auth";
|
|
import type { Directive, DirectiveBinding } from "vue";
|
|
|
|
export const perms: Directive = {
|
|
mounted(el: HTMLElement, binding: DirectiveBinding<string | Array<string>>) {
|
|
const { value } = binding;
|
|
if (value) {
|
|
!hasPerms(value) && el.parentNode?.removeChild(el);
|
|
} else {
|
|
throw new Error(
|
|
"[Directive: perms]: need perms! Like v-perms=\"['btn.add','btn.edit']\""
|
|
);
|
|
}
|
|
}
|
|
};
|