【发布时间】:2018-11-08 08:16:50
【问题描述】:
MatTabNav Docs 显示了一种可用于更新mat-tab-nav 的活动链接的方法。似乎不存在如何实现这一点的示例,source code 并没有更好地了解如何实现。
这是我模板中的 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>
我尝试使用以下两个示例访问该方法,但是似乎没有一个示例允许我访问this.tabs 上的updateActiveLink 方法。
尝试 1 失败
@ViewChild( 'tabs' ) tabs: MatTabNav;
第二次尝试失败
@ViewChild( 'MatTabNav' ) tabs: MatTabNav;
令人困惑的是,它表明我需要将对元素的引用传递给 this.something.updateActiveLink( this.tabs ) 项,因此我尝试在 custructor 中导入 MatTabNav 并像 _matTabNav.updateActiveLink( this.tabs ) 那样访问它
constructor(
private _matTabNav: MatTabNav,
) { }
我的最终目标
当路线不包含我的标签时,我打算突出显示第一个链接。此外,当路线发生变化时,我希望标签反映这种变化。所以第一行最终会选择相同的
/route/
/route/tab1
/route/tab2
/route/tab3
我的路由都路由到同一个组件
{ component: MyTabComponent, path: 'route/' },
{ component: MyTabComponent, path: 'route/:tab' },
【问题讨论】:
标签: angular angular-material angular7 angular-cdk