下面是從一個REST服務獲取數據的一個片段:不能過濾RxJS可觀察到的Angular2
getPlayers(position: string) {
return this.get(`players/${position}`)
.map(r => r.data)
.catch(error => {
console.log('Error: ', error);
return Observable.of<Player>();
});
}
r.data是玩家的數組。
這是我的定義將保持參考一下以上的回報服務的變量:
players: Observable<Player>;
最後,這是我如何分配球員:
this.players = this.svc.getPlayers(this.position);
這是怎麼了我列出組件上的玩家:
<ion-item *ngFor="let player of players | async">
{{player.name}}-{{player.position}}
</ion-item>
一切按預期工作。現在,我想在向組件展示它們之前過濾這些播放器,然後嘗試類似這樣的操作;
this.players = this.svc.getPlayers(this.position).filter(p => p.position === 'hq');
......我在屏幕上什麼都看不到,就好像我沒有任何記錄顯示。沒有一種可觀察的方法似乎能夠正確工作。
任何想法爲什麼?
能否請您確認,如果過濾的數據有數組中的任何元素? – WelsonJR