Angular Material2对话框的父组件是什么

时间:2018-07-13 16:24:17

标签: angular angular-material

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

import { MyService } from './myservice.service';

@NgModule({
  providers: [
     MyService
]
})

答案 2 :(得分:0)

有两种方法。

  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, ...) {} }