MatTabNav Docs показывает метод, который можно использовать для обновления активных ссылок для mat-tab-nav
. Нет примеров того, как это реализовать, и исходный код не дает лучшего представления о том, как его реализовать.
Вот HTML из моего шаблона:
<nav mat-tab-nav-bar #tabs>
<a mat-tab-link *ngFor="let link of links"
(click)="activelink = link.identifier"
[active]="activelink === link.identifier"
[routerLink]="[ './', link.identifier ]"
>{{ link.title }}</a>
</nav>
Я попытался получить доступ к методу, используя следующие два примера, однако ни один из них не позволяет мне получить доступ к методу updateActiveLink
в this.tabs
.
Неудачная попытка 1
@ViewChild( 'tabs' ) tabs: MatTabNav;
И неудачная попытка 2
@ViewChild( 'MatTabNav' ) tabs: MatTabNav;
Что сбивает с толку, так это то, что он показывает, что мне нужно передать ссылку на элемент в элемент this.something.updateActiveLink( this.tabs )
, поэтому я попытался импортировать MatTabNav
в custructor и получить к нему доступ, например, _matTabNav.updateActiveLink( this.tabs )
constructor(
private _matTabNav: MatTabNav,
) { }
Цель моей цели
Я намерен выделить первую из ссылок, когда маршрут не содержит мою вкладку. Также, когда маршрут меняется, я бы хотел, чтобы вкладки отражали это изменение. Таким образом, первая строка в итоге выберет тот же
/route/
/route/tab1
/route/tab2
/route/tab3
И мои маршруты, которые направляются к одному и тому же компоненту
{ component: MyTabComponent, path: 'route/' },
{ component: MyTabComponent, path: 'route/:tab' },