Voglio scrivere un semplice interruttore all'interno di un servizio Angular2.Ottieni il valore corrente di Subject.asObservable() all'interno del servizio Angular
Pertanto ho bisogno del valore corrente di un Subject
che osservo (vedi sotto).
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$);
}
}
Come ottengo il valore corrente da _panelOpened/panelOpened $?
Grazie.
oggetto o BehaviorSubject non dovrebbe importare in questo caso. So come iscriversi, ma ** non c'è un modo per ottenere il valore senza un abbonamento? ** Un po 'di sovraccarico per iscriversi/annullare la sottoscrizione ogni volta che voglio semplicemente il valore corrente ... L'abbonamento è più per ricevere una notifica quando il valore cambia, come vedo io. – Sommereder
Basta assegnare l'ultimo valore a un campo locale. –
Ho aggiornato la mia risposta. –