当前位置: 首页 > 知识库问答 >
问题:

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

董昕
2023-03-14

我有一个组件A,它触发一个对话框

  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();
    },    
  );
}

共有2个答案

令狐功
2023-03-14

当您关闭对话框时。

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

当对话框完全关闭时。

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

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

仲和韵
2023-03-14

在PicuploadComponent中尝试以下操作:

this.dialogRef.close(res);

访问组件 A 中的 res:

dialogRef.afterClosed().subscribe(result => {
  console.log(result)
});
 类似资料:
  • 基于Angular 2的文档,您可以使用@Input轻松地将数据从一个组件传递到另一个组件。 例如,我可以这样设置父对象: 然后按如下方式获取子组件中的数据: 很明显,将传递给父组件的模板(当然是在子选择器中),并将它们处理到子组件中。 但问题是。 我的子组件DOM元素(在本例中

  • 问题内容: 将尽可能多的字节从ByteBuffer 放入另一个ByteBuffer 的最有效方法是什么(以及知道传输了多少字节)?我正在尝试,但似乎要抛出BufferOverflowException,当我需要它们时,我现在无法从Sun获取Javadocs(网络问题)。> :( argh。 编辑:darnit,如果bbuf_src是ReadOnly缓冲区,则@Richard 的方法(使用来自bac

  • 问题内容: 我需要将数据从一个表复制到另一个表。这两个表几乎具有相同的结构,但是位于不同的数据库中。 我试过了 我尝试此操作,但跨数据库出现错误…未实现 问题答案: 这是一个非常简单的任务。只需为此目的使用dblink: 如果您需要定期从外部数据库中获取数据,明智的做法是定义服务器和用户映射。然后,您可以使用较短的语句:

  • 我知道的一种方法是通过活动。我们可以将数据从一个片段发送到另一个活动,再从一个活动发送到另一个片段。还有其他方法吗?

  • 问题内容: 我有两个组件SideNav和Dashboard(两个位于不同的js文件中)。SideNav将具有选择框作为过滤器。我必须将一个数组从仪表板组件传递到补充工具栏组件。该数组必须作为选择框的值(在sidenav组件内部)给出。 PS: 如果在两个不同的JS文件中定义了两个不同的组件类,情况将会怎样。例如HomeComponent / Home.js->父组件Dashboard / Dash

  • 问题内容: 我想将多个值从一个servlet传递到另一个servlet。请告诉我如何通过? 问题答案: 取决于您是否使用会话: 使用session.setAttribute()将数组存储在会话变量中。 使用session.getAttribute();检索数组。 但是,变量将一直保留到会话终止,您用其他东西覆盖它或将其删除为止。 如果将一个servlet转发到另一个servlet,则可以将其存储在