Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角材料可以';t将数据对象传递到matdialog对话框_Angular_Typescript - Fatal编程技术网

Angular 角材料可以';t将数据对象传递到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

我在这里查看了一些帖子,并仔细检查了如何将数据从角度组件传递到MatDialog,但在加载对话框时,我发现“未定义”

这是到目前为止我的代码

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周围的{}。