在angular2服务内打开/关闭MdDialog

在angular2服务内打开/关闭MdDialog,angular,angular2-services,Angular,Angular2 Services,我有服务和错误处理程序服务,当我试图调用对话框代码时,它给出了一个错误 import { MdDialog, MdDialogRef } from '@angular/material'; import { HeaderDialog } from '../dialog-boxes.component'; export class MyService { dialogRef: MdDialogRef<any>; constructor(private dialog: MdDialog

我有服务和错误处理程序服务,当我试图调用对话框代码时,它给出了一个错误

import { MdDialog, MdDialogRef } from '@angular/material';
import { HeaderDialog } from '../dialog-boxes.component';

export class MyService {
dialogRef: MdDialogRef<any>;
constructor(private dialog: MdDialog) {}
this.dialogRef = this.dialog.open(HeaderDialog, {
    height: 'auto',
    width: 'auto',
});

this.dialogRef.componentInstance.message = 'Hello';
this.dialogRef.afterClosed().subscribe(result => {
    if (result) {}
    this.dialogRef = null;
});
}
从'@angular/material'导入{MdDialog,MdDialogRef};
从“../dialogs.component”导入{HeaderDialog};
导出类MyService{
dialogRef:MdDialogRef;
构造函数(私有对话框:MdDialog){}
this.dialogRef=this.dialog.open(HeaderDialog{
高度:“自动”,
宽度:“自动”,
});
this.dialogRef.componentInstance.message='Hello';
this.dialogRef.afterClosed().subscribe(结果=>{
如果(结果){}
this.dialogRef=null;
});
}
未处理的承诺拒绝:错误:“HeaderDialog”的提供程序无效-仅允许提供程序和类型的实例,获取:[EConfig,Constants,?undefined?,…]


您应该发布组件标题对话框,在该组件中您有问题。

您应该发布组件标题对话框,在该组件中您有问题。

只允许提供程序实例,但您有非提供程序实例。那么如何在服务内实现mdDialog?感谢您的回复。没有任何适用的方法可以做到这一点。只允许提供程序的实例,但您有一个非提供程序实例。那么我如何在服务内部实现mdDialog?谢谢你的回复。没有任何合适的方法。但我想使用HeaderDialog内部服务。谢谢。是的,我解释不好,我会说你需要在这里发布HeaderDialog代码,看看是不是有问题。因为这个组件的构造函数是失败的,但是我想在服务内部使用HeaderDialog。谢谢。是的,我解释不好,我会说你需要在这里发布HeaderDialog代码,看看是不是有问题。因为这个组件的构造函数就是它失败的地方