我有以下代码段
<my-tabs>
<my-tab>
<tab-heading>Users</tab-heading>
<tab-content>Users Data</tab-content>
</my-tab>
<my-tab my-tab--active>
<tab-heading>Groups</tab-heading>
<tab-content>Roles Data</tab-content>
</my-tab>
</my-tabs>
我想访问所有tab-heading
,所以我正在使用@ContentChildren
装饰器
@ContentChildren(TabHeading, { descendants: true })
tabHeadingList: QueryList<TabHeading>;
ngAfterViewInit() {
console.log(this.tabHeadingList);
}
但是这将返回空列表。是否可以使用@ContentChildren
或其他方法获得相同的结果?
这里是TabHeading
类
@Component({
selector: "tab-heading",
template: `<li class="tab"><a href="#123456789"><ng-content></ng-content></a></li>`
})
export class TabHeading {
}
即使我尝试使用ngAfterContentInit
挂钩仍无法正常工作。
ngAfterContentInit() {
console.log("Content Init");
console.log(this.tabHeadingList);
}
我可以得到my-tab
。但无法获得嵌套的孩子。
答案 0 :(得分:0)
TabHeading
是我的自定义角度分量,我没有将其注册到ngmodule
中。
@NgModule({
imports: [CommonModule],
declarations: [MyTab, MyTabs, TabHeading],
exports: [MyTab, MyTabs, TabHeading]
})
export class TabsModule { }