角度材质5:如何在选择(单击)选项卡时调用函数?

时间:2018-06-14 09:35:10

标签: angular angular-material angular5 angular-material-5

我有以下HTML代码

<mat-tab label="Regular" (selectChange)="tabClick()"
                 (click)="tabClick()">
   <h1>Some more tab content</h1>
</mat-tab>

这是函数,

tabClick(){
    console.log('Tab clicked...');
}

但似乎没有被称为,为什么?上述事件中没有一个被解雇?

3 个答案:

答案 0 :(得分:6)

必须将selectedTabChanged事件附加到<mat-tab-group>元素

<mat-tab-group (selectedTabChange)="tabClick($event)">
  <mat-tab label="Tab 1">Content 1</mat-tab>
  <mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>
tabClick(tab) {
  console.log(tab);
}

Demo

答案 1 :(得分:3)

事件应为selectedTabChange

mat-tab-group
<mat-tab-group (selectedTabChange)="tabClick()">
    <mat-tab label="Regular">
       <h1>Some more tab content</h1>
    </mat-tab>
</mat-tab-group>

答案 2 :(得分:0)

<mat-tab-group (selectedTabChange)="onChange($event)">
    <mat-tab label="Tab 1">Content 1</mat-tab>
    <mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>

所选标签将触发tabChange事件并获得活动标签。

onChange(event: MatTabChangeEvent) {
    const tab = event.tab.textLabel;
    console.log(tab);
    if(tab===" Tab 1")
     {
       console.log("function want to implement");
      }
  }