将数据从一个组件传输到另一个角度

Posted

技术标签:

【中文标题】将数据从一个组件传输到另一个角度【英文标题】:transfer data from one component to another angular 【发布时间】:2020-01-09 09:37:01 【问题描述】:

我有 组件 A,它会触发 MatDialog

  openDialog(): void 
   // console.log('The dialog was opened');

    const dialogRef = this.dialog.open(PicuploadComponent, 
      width: '1000px',
      //data: name: this.name, animal: this.animal
    );

    dialogRef.afterClosed().subscribe(result => 
// I want to get data from upload response here! **res**
    );
  

这个组件触发 PicuploadComponent 我上传图片并接收一些数据的响应

onUpload() 
  const fd = new FormData(); 
  fd.append('image', this.selectedFile);
  this.service.uploadImage(fd).subscribe(
    (res:any)=>
    
      console.log(res) ;
      this.dialogRef.close();
    ,    
  );

【问题讨论】:

我已经在对您之前问题的回答中描述了这一点...***.com/a/57822253/2352314 这是一个重复的问题!见:***.com/questions/42664974/… 【参考方案1】:

PicuploadComponent 中试试这个:

this.dialogRef.close(res);

访问组件A中的资源:

dialogRef.afterClosed().subscribe(result => 
  console.log(result)
);

【讨论】:

【参考方案2】:

当你关闭对话框时。

this.dialogRef.close(data:'data');

当对话框完全关闭时。

let dialogRef = this.dialog.open(PicuploadComponent, dialogConfig).afterClosed()
  .subscribe(response => 
    console.log(response);
  );

如果您有任何疑问,请告诉我。谢谢。

【讨论】:

【参考方案3】:

您应该将uploadImage 调用的结果传递给this.dialogRef.close() 方法。请参阅他们文档中的示例,https://material.angular.io/components/dialog/overview

【讨论】:

以上是关于将数据从一个组件传输到另一个角度的主要内容,如果未能解决你的问题,请参考以下文章

以角度将数据从一个组件传递到另一个组件

将数据从一个组件传输到另一个组件

从一个模块到另一个模块的角度调用组件

将数组从一个组件传递到另一个组件的角度

以角度 8 将文本字段的值从一个组件传递到另一个组件

通过 SSIS 将数据从一个表传输到另一个表