angular - ERROR 错误:未找到 TestComponent 的组件工厂
问题描述
我添加了一个新组件,
MlP8DocumentComponent
在 app.module.ts 中添加,
declarations: [MlP8DocumentComponent, MlAmendmentDetailsComponent],
entryComponents:[MlP8DocumentComponent, MlAmendmentDetailsComponent]
当我尝试访问它时,我点击了一个选项卡,
switch (section) {
case 'amendmentDetails': {
factory = this.resolver.resolveComponentFactory(MlAmendmentDetailsComponent);
break;
}
case 'p8documents': {
factory = this.resolver.resolveComponentFactory(MlP8DocumentComponent);
break;
}
}
它说错误
MlSummaryComponent.html:3 ERROR Error: No component factory found for MlP8DocumentComponent. Did you add it to @NgModule.entryComponents?
entrycomponent 中的另一个组件运行良好。任何人都可以帮助我。谢谢。
解决方案
如果您尝试在其他模块中使用此组件,则需要将其添加到entrycomponents
该模块中,并将其导出到您的app.module.ts
exports: [MlP8DocumentComponent]
推荐阅读
- java - Firebase 实时数据库中的 Java HTTP 调用,用于软件中的数据更改
- unity3d - Unity .unity-Files (Scenes) 在 IDE 中而不是在 Unity3D 中打开
- graphql - 为什么我在过滤器中使用枚举时在 graphql 中出现语法错误?
- php - 强制 PHP 运行所有 if 条件
- gtk3 - bwrap:execvp 应用程序:没有这样的文件或目录(GNOME Builder Flatpak)
- reactjs - react-select AsyncSelect loadOptions 通过 React.cloneElement
- javascript - 为什么 redux thunk 返回承诺?
- c - 如何将数组存储到C中的数组中?
- php - 列出文件夹和子文件夹上的所有图像,并为每个更改文件夹添加使用 php
- mysql - 使用触发器从 db1 (databse1) 更新一行后,我想更新 db2 (database2) 的一行