Есть компонент, который активируется ngIf:
<filter-dialog *ngIf="isFilterOpen()"></filter-dialog>
Где:
isFilterOpen() {
return FilterService.isOpen;
}
Класс компонента:
export class FilterDialogComponent implements AfterViewInit {
ngAfterViewInit() {
this.createFilterComponent();
}
}
Почему я могу эту ошибку:
SkeletonComponent.html:13 ERROR TypeError: provider.ngAfterViewInit is not a function
at callProviderLifecycles (core.js:32327)
at callElementProvidersLifecycles (core.js:32292)
at callLifecycleHooksChildrenFirst (core.js:32274)
at checkAndUpdateView (core.js:44280)
at callViewAction (core.js:44636)
at execEmbeddedViewsAction (core.js:44593)
at checkAndUpdateView (core.js:44271)
at callViewAction (core.js:44636)
at execComponentViewsAction (core.js:44564)
at checkAndUpdateView (core.js:44277)
createFilterComponent is:
createFilterComponent() {
const concreteFilterForm = this.filterService.form;
const concreteFilterComponent = FilterLinkReferenceDialogComponent;
/* Factory angular */
const factory = this.resolver.resolveComponentFactory(
concreteFilterComponent
);
this.componentRef = this.viewContainerRef.createComponent(factory);
this.componentRef.instance.form = concreteFilterForm;
}