I'm uporabo Angular 4 predlogo z webpack in ko poskušam uporabiti komponento (ConfirmComponent), imam to napako:
Za ConfirmComponent ni najdena nobena tovarna komponent. Ali ste jo dodali v @NgModule.entryComponents?
Komponenta je deklarirana v app.module.server.ts
@NgModule({
bootstrap: [ AppComponent ],
uvozi: [
// ...
],
entryComponents: [
ConfirmComponent,
],
})
izvozni razred AppModule { }
Imam tudi app.module.browser.ts
in app.module.shared.ts
Kako lahko to popravim?
To dodajte v svoj module.ts
,
deklaracije: [
AppComponent,
ConfirmComponent
]
če je ConfirmComponent v drugem modulu, ga morate izvoziti tja, da ga lahko uporabite zunaj, dodajte:
exports: [ ConfirmComponent ]
V primeru dinamično naložene komponente in za generiranje ComponentFactory je treba komponento dodati tudi v entryComponents modula:
deklaracije: [
AppComponent,
ConfirmComponent
],
entryComponents: [ConfirmComponent],
v skladu z definicijo entryComponents
Določa seznam komponent, ki jih je treba sestaviti, ko je ta modul definiran. Angular bo za vsako komponento s tega seznama ustvaril ComponentFactory in jo shranil v ComponentFactoryResolver.
Imel sem isto težavo. V tem primeru je imports [...]
ključnega pomena, saj ne bo delovalo, če ne uvozite NgbModalModule
.
Opis napake pravi, da je treba komponente dodati v polje entryComponents
in to je očitno, vendar se prepričajte, da ste najprej dodali to polje:
imports: [
...
NgbModalModule,
...
],
če v svoji aplikaciji uporabljate usmerjanje
prepriča se, da dodate nove komponente v pot usmerjanja
na primer :
const appRoutes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'home', component: HomeComponent },
{ path: 'fundList', component: FundListComponent },
];