Угловой 8: фабрика компонентов не найдена для компонента, даже добавленного в app.module.ts - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь перенести проект с Angular 7 на Angular 8.

Однако, получая приведенную ниже ошибку для HeaderComponent после обновления до Angular 8.

zone.js: 199 UncaughtОшибка: не найдена фабрика компонентов для HeaderComp.Вы добавили его в @ NgModule.entryComponents?по адресу noComponentFactoryError (core.js: 17988) по адресу CodegenComponentFactoryResolver.push ../ node_modules/@angular/core/fesm5/core.js.CodegenComponentFactoryResolver.resolveComponentFactory ..pon./core/fesm5/core.js.CodegenComponentFactoryResolver.resolveComponentFactory (core.js: 18023) в AngularFrameworkComponentWrapper.push ../ node_modules / ag-grid-angular / dist / angularFrameworkComponentWrameFraraCraFraFraFraFraFraFraFraFraFraFraFraFraFBRentFraFBRentFraFBFFFFFM.dll) /omCrapperFraCentFraFBRFFFBFFBMBCMCMCFRFRF) местонахождениеСервисФральщикФраксиМакраторТрейдна DynamicAgNg2Component.createComponent (angularFrameworkComponentWrapper.js: 44) в DynamicAgNg2Component.push ../ node_modules / AG-сеточных-угловой / расстояние / angularFrameworkComponentWrapper.js.BaseGuiComponent.init (angularFrameworkComponentWrapper.js: 84) в DynamicAgNg2Component.init (angularFrameworkComponentWrapper.js: 40) в UserComponentFactory.push ../ node_modules / ag-grid-community / dist / lib / components / framework / userComponentFactory.js.UserComponentFactory.initComponent (userComponentFactory.js: 371) в UserComponentFactory.push.push ../ node_modules / ag-grid-community / dist / lib / components / framework / userComponentFactory.js.UserComponentFactory.newHeaderComponent (userComponentFactory.js: 37)

Пожалуйста, найдите HeaderComponent и app.module.tsниже.

Это для Angular 8, поэтому он работал в Angular 7, и после моих поисков в Google я улучшил app.module.ts, объявив entryComponent.

HeaderComponent.ts:

import { Component, OnInit, OnDestroy, Inject, forwardRef, Input } from 
'@angular/core';
import { pagesToggleService } from '../../services/toggler.service'
import { Subscriber } from 'rxjs/Subscriber'
declare var pg: any;
@Component({
selector: 'pg-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit, OnDestroy {
_headerClass = "";
isHorizontalLayout: false;
_service;
@Input()
boxed: boolean = false;

@Input()
extraClass: string = "";

constructor(private toggler: pagesToggleService) {
}

ngOnInit() {
    this.isHorizontalLayout = pg.isHorizontalLayout;
    this._service = this.toggler.headerClass
        .subscribe(state => {
            this._headerClass = state;
        });
}

ngOnDestroy() {
    this._service.unsubscribe()
}
}

app.module.ts:

@NgModule({
declarations: [
  HeaderComponent
]

entryComponents: [
    HeaderComponent
]

Я ожидаю, что он будет работать в Angular 8, но выдает «Фабрика компонентов для HeaderComp не найдена».ошибка.

Пожалуйста, помогите мне найти решение.

Спасибо,

С уважением.

Бегум

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Ошибка говорит HeadComp вместо HeaderComponent, так что это проблема с сеткой, и я исправил ее с помощью ngx-datatable в html.

0 голосов
/ 14 июня 2019

В части объявления сначала добавьте компонент app в app.module.ts, например:

@NgModule({
declarations: [AppComponent,HeaderComponent],
entryComponents: [HeaderComponent]
})

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...