ContentChildren 获取不到所有组件的解决办法
<app-content-child> <div class="head"> 这是头部 <app-content-child-panel></app-content-child-panel> </div> <app-content-child-panel></app-content-child-panel> <app-content-child-panel></app-content-child-panel> <ul #list> <li>aaa</li> <li>bbb</li> </ul> </app-content-child>
export class ContentChildComponent implements AfterViewInit { @ContentChildren(ContentChildPanelComponent) private panels: QueryList<ContentChildPanelComponent>; constructor() { } ngAfterViewInit(): void { console.log(this.panels); // 只有两个结果(只能获取到非div等元素包裹的结果) } }
descendants属性
这是ContentChildren特有但属性,上个例子少拿类一个panel组件,原因是默认只寻找直属子panel 而.head里但panel组件,并非直属,所以拿不到,想要寻找到所有层级的panel组件,就开启descendants
@ContentChildren(ContentChildPanelComponent, { descendants: true }) private panels: QueryList;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具