Я использую директиву, чтобы ограничить доступ к определенным меню на основе ролей.Эта часть работает очень хорошо, но я не могу обновить эту директиву, действительно, администратор может выбрать ее для просмотра пользователем, хотя эти права изменяют директиву, она не выполняется повторно.Именно эта функция this.permissionsService.hasPermission
будет возвращать другой результат.Как это сделать?
<button mat-button *appHasAccess="['value1-1::value1-2']">Admin</button>
Директива
ngOnInit(): void {
this.applyPermission();
}
private applyPermission(): void {
this.permissionsService.hasPermission(this.appHasAccess).then((hasAccess: boolean) => {
if (hasAccess) {
this.viewContainer.createEmbeddedView(this.templateRef);
} else {
this.viewContainer.clear();
}
}).catch(reason => {
console.error(reason);
this.viewContainer.clear();
});
}