私は比較的単純な問題を抱えていますが、思ったよりも解決が難しいことが判明しました。私は基本的に、観察可能な値を使用してAngular 2のFirebaseリストをフィルタリングしようとしています
これは、期待どおりに機能し、場所変数に
locations: Card[] = [];
ngOnInit() {
this.cardService.getLocations()
.map(locations => {
return locations.map(location => {
this.af.database.object(`/likes/${user}/${location}`).subscribe(like => {
location.like = like.like;
});
return location;
})
})
.subscribe(result => {
this.locations = result;
});
}
これはうまくいきます。ここで、location.like 変数に基づいて location 配列をフィルター処理したいと考えています。
私が走れば
this.locations.map(result => {
console.log(result) }
true または false に設定された like パラメータを含む、期待どおりの完全なオブジェクトを取得します。
ただし、実行すると
this.locations.map(result => {
console.log(result.like) }
完全な結果を console.log に記録すると、この値が正しく表示されるにもかかわらず、未定義に戻ります。
これを引き起こしている可能性のあるものについての手がかりはありますか?