Иногда нам хочется передать часть шаблона компоненту, чтобы сделать его пригодным для повторного использования или настройки. Мы можем добиться этого, передав ссылку на шаблон, например:
// In a parent component
<ng-template #templateEx><p>I'm an example1</p></ng-template>
<theme-comp [template] = "templateEx"></theme-comp>
// In a child(ThemeComponent) component
...
@Input() template: TemplateRef<any> // use it with ng-container
Или спроецировав шаблон, который мы хотим, например:
// In a parent component
<theme-comp>
<ng-template><p>I'm an example2</p></ng-template>
</theme-comp>
// In a child component
...
@ContentChild(TemplateRef) template: TemplateRef<any> // use it with ng-container
Я думаю, что оба подхода будут работать отлично, но мне просто любопытны варианты использования каждого из них или просто различия. Любое понимание будет оценено!
🤔 А знаете ли вы, что...
Angular предоставляет средства для обработки событий и пользовательского ввода.