Angular 角材料可以';t将数据对象传递到matdialog对话框
我在这里查看了一些帖子,并仔细检查了如何将数据从角度组件传递到MatDialog,但在加载对话框时,我发现“未定义” 这是到目前为止我的代码Angular 角材料可以';t将数据对象传递到matdialog对话框,angular,typescript,Angular,Typescript,我在这里查看了一些帖子,并仔细检查了如何将数据从角度组件传递到MatDialog,但在加载对话框时,我发现“未定义” 这是到目前为止我的代码 import { MatDialog } from '@angular/material'; let dialogReff = this.dialog.open(MyComponent, { panelClass: 'custom-dialog-container', data: { myObjec
import { MatDialog } from '@angular/material';
let dialogReff = this.dialog.open(MyComponent,
{
panelClass: 'custom-dialog-container',
data: { myObject: selectedObject},
disableClose: true
});
我在这里添加了一个断点,并验证selectedObject是否包含所有字段,而不是“未定义”
在我的对话框构造函数中
import { Component, OnInit, AfterViewInit, Inject, ViewChild, ElementRef } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { FormControl, Validators } from '@angular/forms';
constructor(public dialogRef: MatDialogRef<InventoryRequiredInfoViewerComponent>,
@Inject(MAT_DIALOG_DATA) public data: { myObject: any}) {
var test = data.myObject;
}
从'@angular/core'导入{Component,OnInit,AfterViewInit,Inject,ViewChild,ElementRef};
从“@angular/material”导入{MatDialogRef,MAT_DIALOG_DATA};
从'@angular/forms'导入{FormControl,Validators};
构造函数(公共dialogRef:MatDialogRef,
@注入(MAT_DIALOG_DATA)公共数据:{myObject:any}){
var测试=data.myObject;
}
当我在这里中断时,data.myObject未定义
我将dialog类添加到app.module.ts部分:
@NGD模块({
声明:
及
入口组件:
我读了几篇文章,不明白为什么数据对象没有成功地传递到MatDialog。非常感谢您的帮助。我认为您能够获得数据,但您正在构造函数中重新定义它。请尝试以下操作:
@Inject(MAT\u DIALOG\u data)data
尝试修改您的代码,如下所示:
let dialogConfig = new MatDialogConfig();
dialogConfig.disableClose = true;
dialogConfig.autoFocus = true;
dialogConfig.maxWidth = '400px';
dialogConfig.panelClass = 'custom-dialog-container';
dialogConfig.data = {
myObject: selectedObject,
};
let dialogReff = this.dialog.open(MyComponent, dialogConfig);
我希望我帮助过你
注意删除myObject周围的{}。