将数据传递给MdDialog不再有效

时间:2017-03-27 06:38:18

标签: angular angular-material2

我想将数据传递给对话框但是它应该如何完成(根据互联网上的几个例子,如Using MdDialogConfig data on Angular 2)不起作用。

我收到以下错误:

 Property 'data' does not exist on type 'MdDialogConfig'

当我查看MdDialogConfig的代码时,此属性确实不存在(不再)

我使用的示例可以作为上述主题的可接受答案,但它不起作用。示例代码为:

const config = new MdDialogConfig();

config.data = [
   // for example:
   'value 1',
   'value 2'
];

const dialogRef = this.dialog.open(DialogComponent, config);

扫描剩下的代码,我认为没有其他方法可以直接传递数据。 我可以回到使用单独的服务将数据从组件传递到对话框,但这远非理想。

是否有正确的方法将数据传递给对话框?

我使用的是版本2.0.0-beta.1

1 个答案:

答案 0 :(得分:0)

您可以创建自己的充气组件(请注明详细信息字段)

export class DialogDetailComponent implements OnInit {

    @Input() detail: Detail;

    constructor(public dialogRef: MdDialogRef<DialogDetailComponent>) {
    }

    ngOnInit() {
    }

    close() {
        this.dialogRef.close();
    }

}
export interface Detail { }

创建一个在服务中打开该对话框的方法

openDialogDetail(c: Type<DialogDetailComponent>, detail: Detail, afterClosed?: (data?) => any, type?: number, width: string = "80%", height: string = "80%", disableClose = false) {

    let dialogRef = this.openDialog(c, afterClosed, width, height, disableClose);

    if (detail)
        dialogRef.componentInstance.detail = detail;

    return dialogRef;

}