Я пытаюсь скрыть / удалить элементы меню / подменю, используя директиву.
Я читаю RouterLinkWithHref, используя @ContentChild, но не могу найти Route. Я заинтересован в чтении объекта данных, который предоставляется в маршруте.
Ниже приведен код, который имеет больше смысла. Дайте мне знать, если что-то может быть полезным, чтобы ответить или копать глубже.
@Directive({
selector: '[roleCheck]'
})
export class RoleCheckDirective implements AfterViewInit {
@ContentChild(RouterLinkWithHref) routerLinkWithHref: RouterLinkWithHref;
constructor(private elementRef: ElementRef) { }
ngAfterViewInit() {
console.log(this.routerLinkWithHref);
// do something here to find matched route, and read route.data for allowed roles
}
}
Ниже домашнего маршрута есть данные, содержащие роли. Angular находит совпавший маршрут как-то из RouterLink и RouterLinkWithHref. Angular также предоставляет RouterLinkActive, который должен читать RouterLink / RouterLinkWithHref, чтобы показать активный маршрут в меню навигации. Итак, вопрос в том, какие методы доступны. как я могу видеть их реализацию. Я использую угловой с машинописью. Я видел наборы RouterLinkActive. Любая помощь приветствуется.
const routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent, data: { roles: ['Admin', 'Analyst']} },
...
];