如何使用@ContentChildren在Angular中进行组件合成

时间:2019-04-02 18:42:49

标签: angular components composition

我正在尝试使用合成从Angular中的更多通用组件创建一个专用组件。更准确地说,我有一个通用的AccordionAccordionGroup(面板)组件,并且想要创建一个专门的面板MyAccordionGroupAccordion使用ContentChildren查找面板,并订阅其toggle事件以处理面板的扩展。但是,Accordion找不到MyAccordionGroup使用的面板。

我相信问题是ContentChildren不适用于嵌套的<ng-content>,如this issue

所述

StackBlitz

中显示了该问题的有效示例

我希望Accordion能够找到子面板,即使它们不是直接子代也是如此。对我来说,组件组合似乎是一个常见的用例(来自React的背景),所以我假设有很多方法可以实现它。

0 个答案:

没有答案