Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度材质,从延迟加载的零部件显示对话框_Angular_Angular Material 8 - Fatal编程技术网

Angular 角度材质,从延迟加载的零部件显示对话框

Angular 角度材质,从延迟加载的零部件显示对话框,angular,angular-material-8,Angular,Angular Material 8,我有一个延迟加载的模块,名为account。在帐户中有一个注册表组件和一个注册表对话框组件 我想在AppModule.AppComponent中显示来自AccountModule.RegisterDialogComponent的对话框。用于测试目的 RegisterDialogComponent在entrycomponents中的AccountModule中声明 如果我将AccountModule添加到AppModule的导入中,它可以工作,但是这个AccountModule不再是延迟加载的 我

我有一个延迟加载的模块,名为
account
。在
帐户中
有一个
注册表组件
和一个
注册表对话框组件

我想在
AppModule.AppComponent
中显示来自
AccountModule.RegisterDialogComponent
的对话框。用于测试目的

RegisterDialogComponent
在entrycomponents中的
AccountModule
中声明

如果我将
AccountModule
添加到
AppModule
的导入中,它可以工作,但是这个
AccountModule
不再是延迟加载的


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

不可能,至少我不知道怎么做

解决方法是将有关对话框和组件的所有内容都放在它们自己的模块(也称为相同的范围)中。但是,如果此帐户模块是延迟加载的,则仍不允许从外部模块打开对话框。但它将允许从延迟加载模块在延迟加载模块中打开一个对话框。从长远来看,帐户功能是应用程序的核心部分,尽管我很喜欢,但它必须包含在加载的初始js文件中


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

中,如果您在应用程序之间共享,那么模式应该在共享模块中,因此无法显示延迟加载模块中的对话框?共享模块不是延迟加载的。要么在当前模块中创建该模式,要么在整个应用程序中使用该模式,否则无法正确加载,谢谢您的回复