2017-03-22 43 views
0

一般情況下,如果您有一個從firebase抓取的ngFor循環,該循環一次限制爲10,那麼如何拉動下10個值,而不是調用Firebase列表時從第一個值開始。不要在每個ngfor循環的Firebase中顯示相同的值 - Angularfire2

如何從firebase數據庫中獲取我的for循環中的下10條記錄。

doInfinite(infiniteScroll) { 
console.log('Begin async operation'); 
setTimeout(() => { 
    for (let i = 0; i < 10; i++) { 
    this.Aproducts.push(this.Aproducts[i]); 
    //console.log(this.Aproducts.pop()); 
    } 

    console.log('Async operation has ended'); 
    infiniteScroll.complete(); 
}, 100); 

}

+0

我發現這個:但它並沒有幫助我的問題:http://stackoverflow.com/questions/42731060/firebase-always-returning-all-the-rows?answertab=votes#tab-top –

+0

如何可以我把我的for循環,並將關鍵點推到firebase,每次只抓取下10條記錄? doInfinite(infiniteScroll)console.log('Begin async operation'); (this.Aproducts.push(this.Aproducts [i]); //console.log(this.Aproducts.pop()){(其中i = 0; i <10; i ++){this.Aproducts.push(this.Aproducts [i]); ()); } console.log('Async operation has ended'); infiniteScroll.complete(); },100); } –

回答

0

一般 - 你可以用火力查詢的功能做到這一點。 所有firebase查詢必須以orderBy函數開始,例如orderByPriority(firebase默認優先級)。然後,你可以像這樣指定limitTofirst和startAt:

const queryObservable = af.database.list('/items', { 
    query: { 
    orderByPriority: true, 
    limitToFirst: 10, 
    startAt: key, 
    } 
}); 

瞭解更多關於查詢選項in the github documentation

相關問題