【发布时间】:2017-10-27 21:35:36
【问题描述】:
这是一个离子应用程序的功能,它显示您附近的所有用户。问题是,如果用户更改他们的姓名或位置,它将作为新项目添加到数组中,而不是更新现有项目。 . 我怎么可能将更新提供给 ionic2 ngFor 循环?
public outputUsersCloseToMe() : Observable<Array<displayAllUsers>> {
let availableUsers = <Array<displayAllUsers>>[];
this.firebaseInit().database().ref('users').child(key).child('profile').on('value', (userprofile) => {
if( userprofile.val() ) {
availableUsers.push({
id: userprofile.val().id,
gender: userprofile.val().gender,
distance: distance.toFixed(2),
location: location,
firstName: userprofile.val().firstName,
});
}
});
return Observable.from([availableUsers]).map(val => val);
}
【问题讨论】:
-
好吧,您正在将一个新项目推送到数组中,所以这是预期的行为。简单的解决方案:在将新项目推入之前清除数组...
-
是的,这就是后备计划,但 RXJS 确实提供了一些更优雅的东西
标签: javascript angular ionic-framework ionic2 rxjs