无法将数据传递到垫对话框
Can't pass data to mat dialog
我有一个问题,我需要将对象传递给 mat-dialog。当我查询对象的值时,它显示了它的所有属性,当我需要访问属性时出现问题,它们显示为未定义。
主要成分:
EditDialog(nameInput: String, emailInput: String) {
const dialogInstance = this.dialog.open(EditDialogComponent,
{
width: "40%",
disableClose: true,
data: { person: {name: nameInput, email: emailInput } }
}
);
}
对话框组件:
constructor(private _formBuilder: FormBuilder,
@Inject(MAT_DIALOG_DATA) private person: any
) {
console.log(this.person); <-- show object data
console.log(this.person.name); <-- show undefined
}
感谢任何帮助
你的错误是 @Inject(MAT_DIALOG_DATA) private person: Person 不应该声明为 Person 对象。
相反,您必须像下面那样做
constructor(private _formBuilder: FormBuilder,
@Inject(MAT_DIALOG_DATA) private _data: any
) {
//like this you'll get the person name ;)
console.log(this._data.person.name);
}
我有一个问题,我需要将对象传递给 mat-dialog。当我查询对象的值时,它显示了它的所有属性,当我需要访问属性时出现问题,它们显示为未定义。
主要成分:
EditDialog(nameInput: String, emailInput: String) {
const dialogInstance = this.dialog.open(EditDialogComponent,
{
width: "40%",
disableClose: true,
data: { person: {name: nameInput, email: emailInput } }
}
);
}
对话框组件:
constructor(private _formBuilder: FormBuilder,
@Inject(MAT_DIALOG_DATA) private person: any
) {
console.log(this.person); <-- show object data
console.log(this.person.name); <-- show undefined
}
感谢任何帮助
你的错误是 @Inject(MAT_DIALOG_DATA) private person: Person 不应该声明为 Person 对象。
相反,您必须像下面那样做
constructor(private _formBuilder: FormBuilder,
@Inject(MAT_DIALOG_DATA) private _data: any
) {
//like this you'll get the person name ;)
console.log(this._data.person.name);
}