我希望将一个数组作为异步observable从我的服务直接传递到我的模板中的ngFor ..重要的是,当新成员连接并被推入这个数组时,它们将立即显示在模板中,同样如此当我开始编写断开代码时,它们也会从数组和模板中删除。
我似乎无法在我的模板中输出这些值,这是我服务中的功能。
Observable() {
let subject = new AsyncSubject();
let geoQuery = this.geoFire.query({
center: [this.lat, this.lng],
radius: 1.609 //kilometers
});
geoQuery.on("key_entered", (key, location, distance) => {
this.nearme.push({ userid: key, userloc: location, userdistance: distance.toFixed(2) });
subject.next(this.nearme);
console.log("User near you " + key + " found at " + location + " (" + distance + " km away)");
});
return subject.asObservable();
}
并在组件中我在这里挑选:
this.usersNearMe = this.locationTracker.Observable();
然后在我的模板中
<ion-grid>
<ion-row class="member-group">
<ion-col class="member-item" tappable width-33 *ngFor="let m of usersNearMe | async; let i = index">
{{m?.userid}}
</ion-col>
</ion-row>
</ion-grid>