将订阅结果发送回角材料对话框

问题描述 投票:0回答:1

所以当我从对话框触发事件发射器时:...

onAdd = new EventEmitter();

onButtonClick() {
  this.onAdd.emit();
}

我听父母的话:

let dialogRef = this.dialog.open(Component);
const sub = dialogRef.componentInstance.onAdd.subscribe(() => {
  myservice.subscribe(results => /*send back to dialog*/)
});

如何将“结果”发送回同一对话框?

编辑:准备好“结果”后,我还需要在对话框中触发函数调用。

angular angular-material mat-dialog
1个回答
0
投票

您可以通过这种方式将值传递回对话框:

 const sub = dialogRef.componentInstance.onAdd.subscribe(() => {
  myservice.subscribe(results => {
    dialogRef.componentInstance.results = results; // passes results to your dialog. you need to create a property 'results' in you dialog class though.
    this.someFunction(); // function you want to trigger after results is ready
  })
});

© www.soinside.com 2019 - 2024. All rights reserved.