Angular Material 5:选择(单击)选项卡后如何调用函数?

1Z1*_*Z10 6 angular-material angular angular5 angular-material-5

我有以下html代码

<mat-tab label="Regular" (selectChange)="tabClick()"
                 (click)="tabClick()">
   <h1>Some more tab content</h1>
</mat-tab>
Run Code Online (Sandbox Code Playgroud)

这就是功能,

tabClick(){
    console.log('Tab clicked...');
}
Run Code Online (Sandbox Code Playgroud)

但它似乎没有被称为,为什么?以上任何事件均未触发?

bug*_*ugs 11

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>
Run Code Online (Sandbox Code Playgroud)
tabClick(tab) {
  console.log(tab);
}
Run Code Online (Sandbox Code Playgroud)

演示版

  • 您必须传递 `$event` 对象,请参阅更新的答案 (2认同)

Par*_*ain 8

事件应该selectedTabChangemat-tab-group

<mat-tab-group (selectedTabChange)="tabClick()">
    <mat-tab label="Regular">
       <h1>Some more tab content</h1>
    </mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud)