我想将数据传递给对话框但是它应该如何完成(根据互联网上的几个例子,如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
答案 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;
}