Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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 如何在对话框4中传递数据_Angular_Typescript_Angular Material - Fatal编程技术网

Angular 如何在对话框4中传递数据

Angular 如何在对话框4中传递数据,angular,typescript,angular-material,Angular,Typescript,Angular Material,我已经创建了一个对话框来保存一个带有随机id的名称,现在我又单击了一个按钮来打开另一个对话框,在该对话框中应该传递名称,以便我可以更改名称。 名称并不总是相同的,每次都会更改。我用angular ngrx创建了一个存储,这就是我想要编辑以触发名称或传递名称的原因。 我做了一些事情,但不起作用。 下面是打开对话框的代码 openprojecteditdialog() { const dialogRef = this.dialog.open(ProjectEditDialogComponent, {

我已经创建了一个对话框来保存一个带有随机id的名称,现在我又单击了一个按钮来打开另一个对话框,在该对话框中应该传递名称,以便我可以更改名称。 名称并不总是相同的,每次都会更改。我用angular ngrx创建了一个存储,这就是我想要编辑以触发名称或传递名称的原因。 我做了一些事情,但不起作用。 下面是打开对话框的代码

openprojecteditdialog() {
const dialogRef = this.dialog.open(ProjectEditDialogComponent, {
  disableClose: true,
});
dialogRef.componentInstance.newProjectName = 'project';  }

如果你需要一些额外的代码,让我知道我会张贴

在angular 4中,从组件传递到modal的数据与组件到组件的通信相同。参数变量名和喷油器变量名应相同。检查波纹管

const dialogRef = this.dialog.open(ProjectEditDialogComponent, {
     genericObj : { 
                   disableClose: true,
                  }
});
genericObjis参数变量名称应与对话框模式中的喷油器变量名称相同。检查波纹管代码

@Inject(MAT_DIALOG_DATA) public genericObj : any) { }
此处喷油器变量名应为genericObj
我希望您在这里犯了错误。

谢谢,但是@Inject应该实现到我的对话框构造函数中,还是实现到我调用对话框打开的页面中?我这样做了,但仍然不起作用,我的问题是,名称总是不同的,所以当我想编辑该名称时,在该对话框中打开另一个对话框,传递当前名称,以便我可以更改或类似的内容。您需要发送的动态数据是什么,请使用公共变量名将其包装并传递到modal Ex:const dialogRef=this.dialog.open(ProjectEditDialogComponent,{generiobject:{disableClose:true});可以传递数据,但不能像在构造函数中编写的对话框那样通过对话框组件传递到组件?