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