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