你如何正確遍歷一個AngularFire觀察的名單? 我不知道如何處理數據,每一個響應返回列表,以及一個新的全體成員(如「金字塔」) -如何遍歷AngularFire可觀察列表?
first response: [{obj1}]
second response: [{obj1}, {obj2}]
third response: [{obj1}, {obj2}, {obj3}]
我試圖實現我的代碼兩種解決方案,沒有一個看起來像是正確的路要走。
第一解決方案使用rxjs地圖 - 但它太過度,因爲它遍歷每次整個響應。
getAllSchools(): Observable<any> {
return this.angularFire.database.list('schools').map((response) => {
return response.map(school => {
return \\do something to school\\
})
})
}
這意味着,在上述(其中超過schools
列表上循環)的「做些什麼來學校」的例子是時間執行school1
,然後再school1
,並率先school2
。然後第三次school1
,第二次school2
,和第一時間school1
等
第二溶液,我試圖使用preserveSnapshot
實現。這裏的問題是,我不確定它只返回一次和一次數據。
getAllSchools(): Observable<ISchool> {
return new Observable(observer => {
this.angularFire.database.list('schools', { preserveSnapshot: true })
.subscribe(snap => {
snap.forEach((school) => {
///do things to school///
observer.next(school)
})
})
})
}
這是一個非常基本的問題,我相信解決方案非常「簡單」。儘管如此,我找不到明確的解決方案。
是否需要使用另一個庫,例如這個one?
非常感謝!
聽起來像這樣的問題:https://github.com/angular/angularfire2/issues/574 – cartant