<md-tab-group (selectChange)="tabSelectionChanged($event)">
<md-tab label="Tab 1">Content 1</md-tab>
<md-tab label="Tab 2">
This tab will load some morecontents after 5 seconds.
<p>{{ moreContents }}</p>
</md-tab>
</md-tab-group>
...并在你的打字稿代码中:
tabSelectionChanged(event){
// Get the selected tab
let selectedTab = event.tab;
console.log(selectedTab);
// Call some method that you want
this.someMethod();
}
3 回答
您可以使用
<md-tab-group>
提供的selectChange
事件 . 更改选项卡选项时会触发它 . 来自documentation:在您的模板中:
...并在你的打字稿代码中:
链接到working demo .
正如文档所述
通过使用此方法,您可以使每个选项卡单独的路由,因此每次激活路由时每个页面加载 .
请在 Tabs and navigation 部分找到更多信息here .
我知道问题是关于angular-material 5.x.x,但是对于那些到达这里并且没有注意的人来说,angular-material 6本身支持延迟加载选项卡内容https://material.angular.io/components/tabs/overview#lazy-loading .