![](/img/trans.png)
[英]Angular2 rxjs/Subject , rxjs/Observable events not working across the parent and child router
[英]Subject in RxJs and EventEmitter in Angular2
它們之間有什么區別,何時以及如何使用它們? 我讀到Subject等同於EventEmitter。
如果我想改寫這個,怎么樣?
import { Injectable} from '@angular/core';
import { Subject,BehaviorSubject } from 'rxjs';
import {Playlists} from 'channel' /** Assumes this is where you have defined your Playlists interface **/
@Injectable()
export class PlaylistService {
private _currentPlaylists$: Subject<Playlists> = new BehaviorSubject<Playlists>(null);
constructor() {}
currentPlaylists() {
return this._currentPlaylists$.asObservable();
}
setCurrentPlaylists(playlists:Playlists){
this._currentPlaylists$.next(playlists);
}
}
EventEmitter
實現與Angular2組件自定義事件,當s只應該用於Output
裝飾:
@Output()
someEvent: EventEmitter = new EventEmitter();
在其他情況下,您可以使用Subject
(來自Rxjs),因為它與Angular2特定功能無關。
EventEmitter
內部擴展了Subject
。 請參閱https://github.com/angular/angular/blob/master/modules/%40angular/facade/src/async.ts#L63
你的代碼對我來說很好;-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.