タブセットを作成できるサードパーティのライブラリを使用しています。これは、単純なタブセットを作成するために使用しているコードです
<clr-tabs
(clrTabsCurrentTabContentChanged)="onTabContentActivated($event)" >
<clr-tab-link>Firewall</clr-tab-link>
<clr-tab-link>DHCP</clr-tab-link>
<clr-tab-content>
<vcd-firewall-tab></vcd-firewall-tab>
</clr-tab-content>
<clr-tab-content>
<vcd-dhcp-tab></vcd-dhcp-tab>
</clr-tab-content>
</clr-tabs>
loadData()
タブが選択されたときに通知するイベントをフックしました。そのメソッドを<vcd-firewall-tab>
と で呼び出したいと思います<vcd-dhcp-tab>
。
は、選択された へのclrTabsCurrentTabContentChanged
参照を提供しますが、その最初の子にアクセスして、遅延読み込みを実装するためclr-tab-content
に呼び出したいと思います。loadData()
@QueryChildren
クエリする要素のタイプを指定する必要があることを除いて、注釈を使用できると思います。問題は、この場合、タイプがわからないことです。または、他の多くのタブである可能性があり<vcd-firewall-tab>
、<vcd-dhcp-tab>
新しいタブを追加するたびにカスタム コードを追加したくありません。
イベントハンドラーからこのようなことができることを望んでいました(しかし、それは存在しません
onTabContentActivated(tabContent: TabContent){
(tabContent.query(':first-child') as CanLoadData).loadData();
}
@QueryChildren('clr-tab-content > *')
各タブの下に子が1つしかないと仮定して、タブのインデックスを のようなものに一致させることができると思いました。