Моя структура выглядит следующим образом:
|_ app.module.ts
|_ app.component.ts
|_ admin
| |_ admin.module.ts
| |_ admin.component.ts
| |_ admin.component.html
| |_ org-tree
| |_ org-tree.component.ts
| |_ org-tree.component.html
| |_ org-edit
| |_ org-edit.component.ts
| |_ org-edit.component.html
| |_ org-delete-dialog
| |_ org-delete-dialog.component.ts
| |_ org-delete-dialog.component.html
org-tree отображает иерархический список организаций. При нажатии на любой из них открывается диалоговое окно редактирования через
this.windowService.open(OrgEditComponent, { title: `Edit`, context: { organisation: org } });
Это окно содержит форму с кнопкой сохранения и удаления. Кнопка удаления прикреплена к следующему:
this.dialogService.open(OrgDeleteDialogComponent, {
context: {
organisation: this.organisation
},
closeOnBackdropClick: false,
});
Нажатие на эту кнопку приводит к следующей ошибке:
ERROR Error: No component factory found for OrgDeleteDialogComponent. Did you add it to @NgModule.entryComponents? OrgEditComponent.html:138
at noComponentFactoryError (core.js:19453)
at CodegenComponentFactoryResolver.resolveComponentFactory (core.js:19504)
at NbPortalOutletDirective.attachComponentPortal (portal.js:506)
at NbDialogContainerComponent.attachComponentPortal (index.js:17947)
at NbDialogService.createContent (index.js:18156)
at NbDialogService.open (index.js:18114)
at OrganisationEditComponent.confirmDeleteOrg (organisations-edit.component.ts:43)
at Object.eval [as handleEvent] (OrganisationEditComponent.html:141)
at handleEvent (core.js:34777)
at callWithDebugContext (core.js:36395)
AdminModule is:
@NgModule({
imports: [
CommonModule,
FormsModule,
NbCardModule,
ThemeModule,
NbTreeGridModule,
NbButtonModule,
NbInputModule,
NbIconModule,
NbWindowModule.forChild(),
NbDialogModule.forChild(),
],
declarations: [
AdminComponent,
OrgTreeComponent,
OrgDeleteDialogComponent,
OrgEditComponent,
FsIconComponent,
],
entryComponents: [
OrgDeleteDialogComponent,
OrgEditComponent,
]
})
export class AdminModule { }
Если я поставлю кнопка, чтобы открыть диалог org-delete-на компоненте org-tree, он открывается нормально, так что я думаю, что это связано с компонентом Window, открывающим компонент Dialog.
Что мне нужно добавить сделать эту работу?
Спасибо.