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' },