角形材质,显示延迟加载的组件的对话框

时间:2019-12-13 02:34:55

标签: angular angular-material-8

我有一个延迟加载的模块,名为account。在account中有一个RegisterComponent和一个RegisterDialogComponent

我想显示AccountModule.RegisterDialogComponentAppModule.AppComponent的对话框。用于测试。

RegisterDialogComponentAccountModule中的入口组件中声明。

如果我将AccountModule添加到AppModule的导入中,则可以使用,但是不再延迟加载此AccountModule

我的问题是,如何打开包含延迟加载模块中内容的对话框?那有可能吗?

1 个答案:

答案 0 :(得分:0)

这是不可能的,至少我不知道怎么做。

解决方法是将有关对话框和组件的所有内容都放在各自的模块中,也就是相同的作用域。但是,如果此帐户模块是延迟加载的,则仍然不允许从外部模块打开对话框。但是它将允许从延迟加载的模块中打开延迟加载的模块中的对话框。从长远来看,帐户功能是应用程序的核心部分,正如我所希望的那样,它必须包含在要加载的最初js文件中。

请注意,即使延迟加载,也必须将本地DialogService添加到提供程序中,即使它是@Injectable({providedIn: 'root'})。当然,DialogComponent必须位于entryComponents中。