我应该使用什么angular2 RxJS订阅模式?

我应该使用什么angular2 RxJS订阅模式?,angular,rxjs,rxjs5,Angular,Rxjs,Rxjs5,我将RxJS与Angular2一起使用 我经常发现自己在Angular2服务中向一个私人主体发出信号,该服务向公共流/可观察到的对象发出信号 我在组件中使用的典型模式是 ngOnInit() { service.myStream$.subscribe( ... ) } clickSomethingHandler() { service.emit(this.someValue); } 在我的服务中 private mySubject = new Subject<any>()

我将RxJS与Angular2一起使用

我经常发现自己在Angular2服务中向一个私人主体发出信号,该服务向公共流/可观察到的对象发出信号

我在组件中使用的典型模式是

ngOnInit() {
  service.myStream$.subscribe( ... )
}

clickSomethingHandler() {
  service.emit(this.someValue);
}
在我的服务中

private mySubject = new Subject<any>();

public myStream$ = mySubject.map( ... ) // etc

public emit(value) {
    mySubject.next(value);
}
private mySubject=new Subject();
公共myStream$=mySubject.map(…)//等
公共排放(值){
mySubject.next(值);
}
这是最好的方法吗?在这方面还有其他的方法或改进吗


谢谢

您可以将
mySubject
公开并绕过
emit()
-
service.mySubject.next(this.someValue)
。通过这种方式,如果需要某些特定于组件的流处理-
服务.mySubject.asObservable().filter(componentFilterFn).subscribe()
,您可以直接访问它。除此之外,LGTM…如果您正在寻找如何处理angular2状态的真正复杂模式,请查看ngrx: