我使用的是带有webpack的Angular 4模板
当我尝试使用一个组件(ConfirmComponent)时,我有这个错误:
没有为ConfirmComponent找到组件工厂。你加进去了吗
@NgModule.entryComponents吗?
该组件在app.module.server.ts中声明
@NgModule({
bootstrap: [ AppComponent ],
imports: [
// ...
],
entryComponents: [
ConfirmComponent,
],
})
export class AppModule { }
还有app。module。browser。ts和app。module。shared。ts
我该怎么解决呢?
我在使用动态组件的ag网格中遇到了同样的问题。我发现你需要在ag-grid模块中添加动态组件。withcomponents []
进口:[
StratoMaterialModule,
BrowserModule,
AppRoutingModule,
HttpClientModule,
BrowserAnimationsModule,
NgbModule.forRoot (),
FormsModule,
ReactiveFormsModule,
AppRoutingModule,
AgGridModule.withComponents (ProjectUpdateButtonComponent)
],
在我的例子中,我根本不需要entryComponents -只需要下面链接中描述的基本设置,但我需要在主应用程序模块和外围模块中都包含导入。
imports: [
NgbModule.forRoot(),
...
]
https://medium.com/@sunilk/getting-started-angular-6-and-ng-bootstrap-4-4b314e015c1c
如果一个组件将被包含在模态中,你只需要将它添加到entryComponents中。从文档中可以看出:
您可以将现有组件作为模式窗口的内容传递。在
在这种情况下,请记住将内容组件添加为entryComponents
部分。