Мне нужно загрузить несколько компонентов динамическим c способом. Вот почему я создал родительский компонент для выполнения этой работы (в зависимости от значения this.rink
), например:
ngAfterViewInit() {
switch (this.rink) {
case 'ITCO':
this.templateFreetext = FreetextITCOComponent;
break;
case 'INH':
this.templateFreetext = FreetextINHComponent;
break;
default:
this.templateFreetext = FreetextBERComponent;
break;
}
const cfr = AppInjector.get(ComponentFactoryResolver);
const factory = cfr.resolveComponentFactory(this.templateFreetext);
this.componentRef = container.createComponent(factory);
this.componentRef.instance.data = data;
this.componentRef.changeDetectorRef.detectChanges();
}
Это работает хорошо, но по какой причине я не могу используйте любые каналы внутри шаблона HTML из templateFreetext
.
...
<div class="text-right text-warning">
{{ data.day | date:'EEEE, dd.MM.yyyy' }}
</div>
...
Это возвращает Error: The pipe 'date' could not be found!
Мой вопрос теперь в том, как я могу использовать динамические c созданные компоненты и каналы ? Что я забыл?