Название может быть немного обманчивым, но оно несколько точным.Угловые2 вложенные компоненты без возможности инъекции возможно?
У меня есть три компонента. Существует один родительский компонент (View
) и два дочерних компонента (Accordion
и Panel
). Два дочерних компонента являются одноранговыми. Тем не менее, я хочу, чтобы Panel
отображался внутри Accordion
без ввода Panel
внутри Accordion
directives
. Причина, по которой я хочу избежать этого, заключается в том, что не каждый Accordion
в приложении будет иметь Panel
. Я думал, что я достиг этого еще некоторое время назад, когда Angular2 все еще был в бета-версии, но забыл, как это сделать. Я использую RC.4.
В теории, это было бы идеальным реализация:
view.component.html
<accordion title="View">
<panel></panel>
</accordion>
view.component.ts
...
@Component({
...
directives: [
Accordion,
Panel
]
})
...
Сейчас Accordion
является рендеринг, но Panel
нет. Я могу Panel
визуализировать отдельно. В консоли браузера не возникают ошибки.
Компоненты очень, очень простые прямо сейчас, поэтому кода не так много.
поиск содержимого заочное – toskv
https://toddmotto.com/transclusion-in-angular-2-with-ng-content#angular-2-content-projection – toskv