首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将可观察性从角度底板传递到父组件

如何将可观察性从角度底板传递到父组件
EN

Stack Overflow用户
提问于 2020-08-17 21:29:38
回答 2查看 393关注 0票数 1

我需要将数据从angular material bottomsheet传递到它的父组件。

就像我们在angular material对话框组件中有[mat-dialog-close]指令一样,我们可以像https://material.angular.io/components/dialog/api#MatDialogClose中提到的那样将数据从对话框传递到父对话框

对话html:

代码语言:javascript
复制
<button [mat-dialog-close]="'dataWhichNeedsToBePassed'" cdkFocusInitial>Ok</button>

并在父组件中接收为:

代码语言:javascript
复制
dialogRef.afterClosed().subscribe(result => {
  console.log(result); //dataWhichNeedsToBePassed
});

类似地,我需要将数据从bottomsheet传递到父组件(从调用bottomsheet的位置)。

看起来https://material.angular.io/components/bottom-sheet/api中没有预定义的指令

这里最好的解决方案是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-17 21:55:35

我从.dismiss()函数中得到了答案。只需传递来自此dismiss函数的数据

bottomsheet.html:

<button (click)="confirmDelete()">Delete<button>

bottomsheetComponent:

代码语言:javascript
复制
confirmDelete(): void {
  this._bottomSheetRef.dismiss('Deleted');
  event.preventDefault();
}

父组件:

代码语言:javascript
复制
MatBottomSheetRef.afterDismissed().subscribe(result => {
  console.log('bottomsheet was closed');
  console.log(result); //Deleted
});
票数 0
EN

Stack Overflow用户

发布于 2020-08-17 21:52:49

您可以以与mat对话框相同的方式使用它

代码语言:javascript
复制
this._bottomSheet.open(BottomSheetOverviewExampleSheet)
.afterDismissed().subscribe((result) => {
   console.log(result);
   console.log('Bottom sheet has been dismissed.');
 }); 

示例:stackblitz

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63451853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档