Wie kann ich den Wert einer Observablen deklarieren?

8

Ich benutze eckig 2 und RxJS, und ich frage mich, wie ich folgendes tun kann:

In meiner Komponente habe ich Folgendes definiert:

count: Observable<number>;

Im Konstruktor meiner Komponente mache ich folgendes:

%Vor%

Wie kann ich den aktuellen Wert für die Zählung anzeigen? Gerade jetzt, wenn ich console.log(this.count) bekomme ich ein großes Objekt zu loggen. Wenn ich nur den Wert für this.count anzeigen möchte, wie kann ich das tun?

    
user1354934 19.08.2016, 16:48
quelle

1 Antwort

9

Mit einer regulären Observable erhalten Sie nur den Wert, wenn es sich ändert. Wenn Sie also den Wert "console.log" ausgeben möchten, müssen Sie ihn im Abonnement "console.log" anmelden:

%Vor%

Wenn Sie jedoch jederzeit den aktuellen Wert erhalten wollen, benötigen Sie ein BehaviorSubject (das einen Observable mit einem Observer in Funktion kombiniert ... wie bei Observable aus der rxjs-Bibliothek importieren) ).

%Vor%

Wann immer Sie den aktuellen Wert der Zählung erhalten möchten, rufen Sie this.count.getValue() auf, um den Wert zu ändern, den Sie this.count.next(<the value you want to pass in>) nennen würden. Das sollte dich bekommen, wonach du suchst.

    
Maarek 19.08.2016, 17:02
quelle

Tags und Links