首页 > 解决方案 > 角材料垫标签标签

问题描述

我想从 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?

标签: angularangular-material

解决方案


有一种方法可以做到这一点,但它有点像黑客。如果您将“序列”数据分配给选项卡的“标签”输入,则可以从 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);
}

推荐阅读