【发布时间】:2019-04-28 17:18:24
【问题描述】:
我希望能够在模式或页面上显示表单。我在页面上的表单非常简单,因为页面和表单都存在于同一个模块中。但是,对于模态中的表单,情况有些不同。
我想创建一个通用服务,我可以调用该服务并传入一个组件以使该组件显示在模式中。所以我的服务有这样的方法:
showForm(component: any, options?:NgbModalOptions){
const modal = this.ngbModal.open(content, {
backdrop: 'static',
size: 'lg',
...options
});
...
}
这个模式服务将在我的 SharedModule 中,它是在 appmodule 级别导入的。然后我有一个延迟加载的安全模块。在安全模块中,我有一个 PracticeFormComponent,它是我想在我的模式中显示的表单。我在 SecureModule 的声明、导出和 entryComponents 中有 PracticeFormComponent。
当我尝试从同样在 SecureModule 中声明的页面调用 modalService.showForm(PracticeFormComponent) 时,我收到一条错误消息,提示找不到组件工厂。我不确定我在这里缺少什么。
如果有人可以帮助我解决这个问题,还有第二个问题是,即使它是 SecureModule 的延迟加载子模块或兄弟模块,是否可以调用 FormComponent 以从另一个模块加载?
【问题讨论】:
标签: angular ng-bootstrap