角材料mat-tab-label

时间:2018-12-06 12:12:52

标签: angular angular-material

我想从selectedTabChange事件访问序列的名称

<mat-tab-group (selectedTabChange)="onSequenceChangeEvent($event, sequence)">

<mat-tab  *ngFor="let sequence of sequencesForSelectedScope">

    <ng-template mat-tab-label>
        <span>{{sequence.sequenceName}}</span>
    </ng-template>

</mat-tab>

在这种情况下,我可以访问以下内容:sequenceEvent.tab.templateLabel.context 但是这个上下文是不确定的。我如何将此设置为sequence.sequenceName?

1 个答案:

答案 0 :(得分:3)

有一种方法可以做到这一点,但这有点骇人听闻。如果将“序列”数据分配给选项卡的“标签”输入,则可以从MatTabChangeEvent获取数据。这仅适用,因为您正在使用模板标签,因此可以“改变用途”标签输入:

<mat-tab-group (selectedTabChange)="onSequenceChangeEvent($event)">

<mat-tab *ngFor="let sequence of sequencesForSelectedScope" [label]="sequence">

    <ng-template mat-tab-label>
        <span>{{sequence.sequenceName}}</span>
    </ng-template>

</mat-tab>

onSequenceChangeEvent(event: MatTabChangeEvent) {
  console.log(event.tab.textLabel.sequenceName);
}