Ich erstelle eine angular2-Anwendung und ich habe einen Dienst, den ich in einer Komponente schreiben und dann in anderen lesen/aktualisieren möchte Komponenten (Routen).Eigenschaft 'onNext' existiert nicht auf Typ 'BehaviorSubject <Filer>'
Hier ist, was mein Service sieht aus wie zur Zeit:
import { Injectable } from '@angular/core';
import { Filer } from './filer.model';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class FilerService {
public _filer: Subject<Filer>;
constructor() {
this._filer = new Subject();
}
setSelected(ret: Filer) {
let temp = ret;
this._filer.next(temp);
}
get selected(): Observable<Filer> {
return this._filer.asObservable();
}
}
da ich Subject
bin mit nur Komponenten, die gezeichnet sind in der Lage, alle Werte zu sehen. Ich habe versucht, es zu einem BehaviorSubject
, basierend auf den RXJs Docs zu ändern. Hier ist, wie das aussieht:
import { Injectable } from '@angular/core';
import { Filer } from './filer.model';
import { Observable } from 'rxjs/Observable';
import { Observer } from 'rxjs/Observer';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class FilerService {
public _filer: BehaviorSubject<Filer>;
constructor() {
this._filer = new BehaviorSubject({});
}
setSelected(ret: Filer) {
let temp = ret;
this._filer.onNext(temp);
}
get selected(): Observable<Filer> {
return this._filer.asObservable();
}
}
Aber ich Property 'onNext' does not exist on type 'BehaviorSubject<Filer>'.
, so dass ich bin mir nicht sicher, wo man von hier geht. Irgendwelche Ideen?
Ich bin auf Rxjs 5.0.0-Beta.6.
wird es wahrscheinlich "next" anstelle von "onNext" genannt, wenn Sie rxjs 5 verwenden – user3743222