rxjs如何在角度服务中一起返回可观察到的值

菲拉斯·库巴

在我的角度应用中 我正在使用ngx-bootstrap模态。

单击按钮后显示和隐藏模式(onShown/ onHidden时,此模式用于返回可观察到的回调

我的代码如下所示:

import {Injectable, TemplateRef} from '@angular/core';
import {BsModalService} from 'ngx-bootstrap/modal';
import {BsModalRef} from 'ngx-bootstrap/modal/bs-modal-ref.service';

@Injectable()
export class MyService {

  modalRef: BsModalRef;
  constructor(private modalService: BsModalService) {

  }
  openModal(template: TemplateRef<any>) {
    this.modalRef = this.modalService.show(template ,{ class: ' modal-lg' }  );
  }

  onModalShown(){
    return this.modalService.onShown;
    // I WANT TO RETURN this.modalService.onShown + modalRef


  onModalHidden(){
    return this.modalService.onHidden;
  }
}

我的目的是如何结合使用onModalShown/onModalHidden方法,以便可以modalRefthis.modalService.onShown响应的同时将引用附加到模态

我想返回this.modalService.onShown + modalRef,并能够在我的组件中订阅它并获取两个数据

@Component()
export class MyComponent {

constructor( private myService : MyService) {}

 whenCallbackFired(){
  this.myService.onModalShown.subscribe(()=>{
      GET HERE BOTH INFORMATIONS ??
  })
 }

}

要注意 ; modalRef单击按钮后设置

建议?

波尔·克鲁伊特

这样就足够了:

onModalShown() {
  return this.modalService.onShown.pipe(
    map((directive) => ({ directive, modalRef: this.modalRef })
  );
}

在组件内部,您可以执行以下操作:

whenCallbackFired(){
  this.myService.onModalShown.subscribe(({ directive, modalRef })=> {
    console.log(modalRef);
  })
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从订阅中返回可观察到的

RxJs数组可观察到的数组

如何在RxJS(或Reactive Extensions中的常规)中实现可观察到的时间到期热

rxjs可观察到的更改间隔

可观察到的Redux:如何从回调返回操作?

RXJS可观察到的转换数组为多个值

如何合并多个可观察到的RxJS的结果?

RxJs可观察到的重复值

rxjs可观察到的导入问题

ngFor可观察到的角度

可观察到的异步管道未返回值

如何根据可观察到的返回值对演示者方法进行单元测试?

角度6:可观察到的HTTPClient

角度:可观察到的法线阵列

如何停止Rxjs中可观察到的共享

使用RxJS过滤单个值并返回可观察到的值,并通过Angular模板中的async使用可观察到的值

如何从有前景的函数中返回可观察到的

ngIf块内部可观察到的角度rxjs错过了第一次更新

如何从http请求返回可观察到的

保持可观察到的错误并返回所有值

将MergeMap与从另一个可观察到的数据数组一起使用-RxJs Angular

如何链接rxjs可观察对象以获取内部可观察对象的值并在Angular中与父对象一起返回

如何在可观看Redux的史诗中链接可观察到的RxJS?

如何在Angular Jasmine Spec中测试主题和可观察到的返回值?

当另一个发出值时,可观察到RxJS错误

如何在Javascript中返回对函数的引用(可观察到的敲除)

角度2可观察到可观察[]

从 eventListener 可观察到的角度返回

在角度服务中可观察到