2017-08-09 78 views

回答

4

HTML模板:

<md-tab-group (selectChange)='onSelectChange($event)'> 
    <md-tab label="Tab 1">Content 1</md-tab> 
    <md-tab label="Tab 2">Content 2</md-tab> 
</md-tab-group> 

component.ts

import {Component} from '@angular/core'; 


@Component({ 
    selector: 'tabs-overview-example', 
    templateUrl: 'tabs-overview-example.html', 
}) 
export class TabsOverviewExample { 
    onSelectChange(event) { 
    if(event.index== 0){ 
     console.log('Tab1 is selected!'); 
    }else{ 
     console.log('Tab1 is not selected!') 
    } 
    } 
} 
+0

它不起作用 –

+0

出了什麼問題? –

+0

什麼都沒有顯示在控制檯 –

2

您需要使用selectChange事件:

<md-tab-group (selectChange)="onTabSelectChange($event)"> 
    <md-tab label="Tab 1">Content 1</md-tab> 
    <md-tab label="Tab 2">Content 2</md-tab> 
</md-tab-group> 

並在您的組件中:

onTabSelectChange(tabChange: MdTabChangeEvent) { 
// do whatever you need to do here 
} 

您可以查看Material Tabs的文檔,詳細瞭解MdTabChangeEvent

+0

如何導入MdTabChangeEvent請? –

+0

'從'@ angular/material'導入{MdTabChangeEvent};' –

0

你可以這樣做:

public changeTab(tabgroup) { 
    let pid = tabgroup._currentLabelWrapper.id;  
    let activeTab =$("#"+pid).text().trim(); 
    console.dir("Active tab: " + activeTab); 
} 

這樣你:

<md-tab-group #tabgroup (focusChange)="changeTab(tabgroup)"> 
    <md-tab label="Tab 1">Content 1</md-tab> 
    <md-tab label="Tab 2">Content 2</md-tab> 
</md-tab-group> 

在TS文件可以有任何數量的選項卡和instantl你可以得到當前選擇的標籤。