我有一个延迟加载的模块,名为account
。在account
中有一个RegisterComponent
和一个RegisterDialogComponent
。
我想显示AccountModule.RegisterDialogComponent
中AppModule.AppComponent
的对话框。用于测试。
RegisterDialogComponent
在AccountModule
中的入口组件中声明。
如果我将AccountModule
添加到AppModule
的导入中,则可以使用,但是不再延迟加载此AccountModule
。
我的问题是,如何打开包含延迟加载模块中内容的对话框?那有可能吗?
答案 0 :(得分:0)
这是不可能的,至少我不知道怎么做。
解决方法是将有关对话框和组件的所有内容都放在各自的模块中,也就是相同的作用域。但是,如果此帐户模块是延迟加载的,则仍然不允许从外部模块打开对话框。但是它将允许从延迟加载的模块中打开延迟加载的模块中的对话框。从长远来看,帐户功能是应用程序的核心部分,正如我所希望的那样,它必须包含在要加载的最初js文件中。
请注意,即使延迟加载,也必须将本地DialogService
添加到提供程序中,即使它是@Injectable({providedIn: 'root'})
。当然,DialogComponent必须位于entryComponents
中。