我正在使用第三方库来创建tabset。这是我用来创建一个简单的标签集如何使用@ViewChildren获取对未知子元素的引用
<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 > *')
,假设只有一个每个选项卡下的孩子。
谢谢,我可能最终钻入DOM和发射DOM事件的角度成分的可以听 –
听起来像一个计划:) –
我很想听听你对我的解决方案的反馈 –