import store from "@/store";
function checkPermission(el, binding) {
const { value } = binding;
const roles = store.getters && store.getters.roles;
if (value && value instanceof Array) {
if (value.length > 0) {
const permissionRoles = value;
const hasPermission = roles.some((role) => {
return permissionRoles.includes(role);
});
if (!hasPermission) {
el.parentNode && el.parentNode.removeChild(el);
}
}
} else {
throw new Error(`need roles! Like v-permission="['admin','editor']"`);
}
}
export default {
inserted(el, binding) {
checkPermission(el, binding);
},
update(el, binding) {
checkPermission(el, binding);
},
};
-
wanli authorede339fd7a