我对ContentChildren装饰器有疑问。
我想为桌面创建一个控制器用户界面。 我创建了一些组件来处理控制器输入(因此,以一个示例为例,起始页面可能是这样):
ControllerContainerComponent模板如下所示:
<template #host></template>
<ng-content></ng-content>
(模板是通过json模板生成面板的可选选项)
现在,我希望ControllerContainerComponent查询其作为ControllerContainerComponent实例的子级。如果我使用ControllerContainerComponent作为@ComponentChildren装饰器中的选择器,则在初始化内容后,它将返回一个空列表。
此后,我尝试查询确切的类(在本例中为PanelComponent),然后得到了一些结果,但它们不包括DifPanelComponent之类的组件
我的问题是:
这是棱角问题还是我做错了事?
编辑:
我在stackoverflow上发现了一个类似的问题,但是并没有给出我一直在寻找的答案,并且不是关于angular的当前版本的:Angular 2 - Using @ContentChildren for filtering a component's content
第二次编辑:
这是一个演示我的问题的堆栈闪电战:https://stackblitz.com/edit/angular-vfmnd3
答案 0 :(得分:0)
您可能需要provide
。
providers:[{provide: ControllerContainerComponent, useExisting:Panel}]
然后您就可以查询它。