Chcę napisać prosty przełącznik wewnątrz usługi Angular2.Uzyskaj bieżącą wartość obiektu Subject.asObservable() wewnątrz usługi Angular Service
Dlatego potrzebuję aktualnej wartości Subject
obserwuję (patrz poniżej).
import {Injectable} from 'angular2/core';
import {Subject} from 'rxjs/Subject';
@Injectable()
export class SettingsService {
private _panelOpened = new Subject<boolean>();
panelOpened$ = this._panelOpened.asObservable();
togglePanel() {
this._panelOpened.next(!this.panelOpened$);
}
}
Jak uzyskać bieżącą wartość z _panelOpened/panelOpened $?
Dzięki.
Temat lub BehaviorSubject nie powinno mieć znaczenia w niniejszej sprawie. Wiem, jak się zapisać, ale ** nie ma sposobu na uzyskanie wartości bez subskrypcji? ** Trochę przeciążenia, aby zasubskrybować/wypisać za każdym razem, gdy chcę po prostu aktualną wartość ... Subskrypcja jest bardziej otrzymuj powiadomienie, gdy wartość zmieni się - jak widzę. – Sommereder
Wystarczy przypisać ostatnią wartość do lokalnego pola. –
Zaktualizowałem moją odpowiedź. –