Я пытаюсь создать специализированный компонент из более универсальных компонентов в Angular с использованием композиции.Точнее, у меня есть универсальный Accordion
и AccordionGroup
(панель) компонент, и я хочу создать специализированную панель MyAccordionGroup
.Accordion
использует ContentChildren
для поиска панелей и подписывается на их событие toggle
для управления расширением панелей.Однако Accordion
не находит панели, которые используются MyAccordionGroup
.
. Я считаю, что проблема в том, что ContentChildren
не работает для вложенных <ng-content>
, как описано в thisПроблема
Рабочий пример проблемы можно увидеть в этом StackBlitz
Я ожидаю, что Accordion
сможет найти дочерние панелидаже если они не прямые дети.Компонентный состав кажется мне обычным вариантом использования (исходя из фона React), поэтому я предполагаю, что есть способы достичь этого.