1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 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']\""
| );
| }
| }
| };
|
|