我有一个相对简单的问题,结果比我想象的更难解决。我基本上希望使用可观察值
过滤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变量过滤locations数组。
如果我跑
this.locations.map(result => {
console.log(result) }
我按预期获得完整对象,包括like参数设置为true或false。
但是,如果我跑
this.locations.map(result => {
console.log(result.like) }
我恢复未定义,尽管当我在console.log中获得完整结果时这个值正确显示。
有关导致此问题的任何线索?