角度 材料 2 对话框的父组件是什么



我在组件MyComponent中使用类似const dialogRef = this.dialog.open(...);的代码,该组件具有提供程序MyService,而在对话框的构造函数中,我具有public myService: MyService,但是,它会出现错误no provider for the service,那么对话框可以从哪个父组件成功服务呢?

有两种方法可以做到这一点。
  1. 正如您所说,提供模块级服务。(app.module.ts或任何其他(
  2. 正如marko所说的,通过它(下面的代码(

    const dialogRef = this.dialog.open(AbcComponent, { myService: MyService });

export class AbcComponent { constructor(@Inject(MAT_DIALOG_DATA) public myService: MyService, ...) {} }

"材质对话框"没有父组件。您可以在调用dialog.open的组件中注入服务,并将其传递给对话框配置。

您需要在app.module.ts文件中导入服务。

import { MyService } from './myservice.service';
@NgModule({
providers: [
MyService
]
})

最新更新