2016-11-04 7 views
1

私はバックエンドとしてfirebaseを使用しています。角2の配列Subject .next()は別のコンポーネントのオブザーバを呼び出さない

data.service.tsの内部で、Iは、アプリINITにfirebase観察者によって満たされる主題アレイの作成:私は、その後のDataServiceと別のディレクトリ構成要素を提供し、それに加入

private orders = new Subject<any>(); 
orders$ = this.orders.asObservable(); 

firebase.database().ref(this.fbDataPath).on('child_added', (childSnapshot) => { 
    this.orders.next(
    { 
     key: childSnapshot.key, 
     name: childSnapshot.val().name, 
     items: childSnapshot.val().items 
    } 
) 
}) 

を観察可能命令:

DataService.orders$.subscribe(
    order => { 
    console.log('subscribe hit') 
    }) 

私は、リスナーコンポーネントを次に起動させることができないようです。私はこの作業をboolean isLoggedInにしました。このシナリオでは何かが欠けているはずです。ありがとう!

答えて

1

閉鎖中にthisを使用している可能性があります。 this

+0

this.orders.next()からのエラーを削除する:名「受注」を見つけることができません。this'正しく –

+0

をうまくいくようです。しかし、私がfirebase closureからそれを取り除くと、購読は少なくとも通り抜けていたので、何かがない限り、私自身のfirebase watcherを動かさなければならないかもしれませんか? – Matthias247

+0

おっと、私は自己...」didnのため答えとしてマーキングされなかった '配列関数の取得以来の問題ではない/ –

関連する問題