2016-08-19 6 views
8

:私は、私のコンポーネントのコンストラクタでobservableの値をconsole.logにするにはどうすればいいですか?私は、角2とRxJSを使用していますし、私は次の操作を行うことができますどのように疑問に思って

count: Observable<number>;

:私のコンポーネントで

は、私は次のように定義されています次のようにしてください:

constructor(
    private store: Store<any> 
) { 
    this.count = this.store.select<any>(state => state.count); 
    } 

カウントの現在の値はどのように表示できますか?今私がconsole.log(this.count)私は大きなオブジェクトをログに取得します。 this.countの値だけを表示したい場合、どうすればいいですか?あなたはしかし

constructor(
    private store: Store<any> 
) { 
    this.count = this.store.select<any>(state => state.count); 
    this.count.subscribe(res => console.log(res)); 
    } 

:それは変化したときに値をアウトにconsole.logしたい場合は、サブスクリプションでそれをCONSOLE.LOGする必要がありますので、あなただけの、値を取得する定期的な観測可能で

答えて

9

BehaviorSubject(ObservableとObserverを関数に組み込みます... Observableのようにrxjsライブラリからそれをインポートします)はいつでも現在の値を取得できるようにしたいと考えています。

private count:BehaviorSubject<number> = new BehaviorSubject<number>(0); 

constructor(
    private store: Store<any> 
) { 
    let self = this; 
    self.store.select<any>(state => self.count.next(state.count)); 
    } 

は、その後いつでも、あなたはあなたがthis.count.next(<the value you want to pass in>)を呼ぶような値を変更するthis.count.getValue()を呼び出すと、カウントの現在の値を取得したいです。それはあなたが探しているものを得るはずです。

+1

私はこれを試してみます! – user1354934

関連する問題