我正在使用带有 webpack 的 Angular 4 模板
当我尝试使用组件(ConfirmComponent)时出现此错误:
找不到ConfirmComponent 的组件工厂。您是否将其添加到
@NgModule.entryComponents?
该组件声明于app.module.server.ts
@NgModule({
bootstrap: [ AppComponent ],
imports: [
// ...
],
entryComponents: [
ConfirmComponent,
],
})
export class AppModule { }
我也有app.module.browser.ts
and app.module.shared.ts
我该如何解决这个问题?
将其添加到您的module.ts
,
declarations: [
AppComponent,
ConfirmComponent
]
如果ConfirmComponent在另一个模块中,您需要将其导出到那里,以便您可以在外部使用它,添加:
exports: [ ConfirmComponent ]
---更新 Angular 9 或 Angular 8 并显式启用 Ivy ---
不再需要 Ivy 的入口组件,现在已弃用
---对于禁用 Ivy 的 Angular 9 和 8 ---
对于动态加载的组件,为了生成 ComponentFactory,该组件还必须添加到模块的 EntryComponents 中:
declarations: [
AppComponent,
ConfirmComponent
],
entryComponents: [ConfirmComponent],
根据entryComponents的定义
指定定义此模块时应编译的组件列表。对于这里列出的每个组件,Angular 将创建一个 ComponentFactory 并将其存储在 ComponentFactoryResolver 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)