我在组件MyComponent
中使用类似const dialogRef = this.dialog.open(...);
的代码,该组件具有提供程序MyService
,而在对话框的构造函数中,我具有public myService: MyService
,但是,它会出现错误no provider for the service
,那么对话框可以从哪个父组件成功服务呢?
- 正如您所说,提供模块级服务。(app.module.ts或任何其他(
正如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
]
})