2017-07-19 6 views
0

配列を生成するobservableを作成しました。 テンプレートで使用した場合:{{ ob | async }}うまく動作します。アンロード後の角度RxJSのヌル値

しかし、私がしなければ:

<div *ngIf="is">{{ ob | async | json }}</div> 
<div *ngIf="!is">{{ ob | async | json }}</div> 

私は正しいJSONを参照してください、私はisを反転すれば、私はnullを参照してください初めて。

creation code観察可能:

return Rx.Observable.create((observer: Rx.Observer<Array<GeoFireLocation>>) => { 
    let locations: Array<GeoFireLocation> = []; 

    geoQuery.on('key_entered', (key, location, distance) => { 
    locations = this.insertIntoSortedArray({ 
     key, distance, 
     coordinates: { 
     latitude: location[0], 
     longitude: location[1] 
     } 
    }, locations); 
    observer.next(locations); 
    }); 

    geoQuery.on('key_exited', (key) => { 
    locations = locations.filter(location => location.key === key); 
    observer.next(locations); 
    }); 
}).finally(() => geoQuery.cancel()); 
+1

「is」変数の下には何がありますか?その価値をどのように設定しますか? –

+0

トグル「真」/「偽」を反転します。デフォルトは 'true'で、最初の行が表示されますが、反転すると' null'が表示されます。再度反転すると、 'null'が返されます – Amit

+0

' is'を切り替えた後に排出が確実にありますか? – martin

答えて

0

finallyが呼び出されているので、私はis変数を反転するたびにそれは起こります。

どのようにオブザーバブルをクリーンアップするのか分かりませんが、少なくともここで問題が見つかりました。