2012-12-07 50 views
1

如果我們可以只將一定長度的集合傳遞給視圖,是否還有?一定長度的集合

我想實現分頁這就是爲什麼我不想傳遞整個集合。

var <new View> = new App.Views.photos({ collection: <Collection of certain length> }); 

這可能嗎?我不介意添加另一種方法,它會返回一定長度的集合。

更新:

我創建了相同型號的一個又一個的收集和使用它作爲一個緩衝區,每次我分頁。 讓我知道這是一個好主意嗎?

+1

http://stackoverflow.com/questions/10470481/pagination:

var PhotoCollection = Backbone.Collection.extend({ model:TestModel, getPage: function(pageNumber, pageLength) { pageLength = pageLength || 10; var first = (pageNumber - 1) * pageLength; var last = Math.min(pageNumber * pageLength, this.length); var page = []; if(first <= this.length) { for(var i=first;i<last;i++) { page.push(this.at(i)); } } return new PhotoCollection(page); } }); 

所以,你可以從集合中檢索任何 「頁面」 -in-backbone-js似乎回答你的問題。另請參見https://github.com/addyosmani/backbone.paginator – Pramod

+0

@Pramod嗯,我可以使用它,但在我的情況下,我需要獲取更多的數據,然後才能進入下一頁 – kishanio

回答

1

你可以實現一個分頁方法給你的集合,它返回集合的一個子集(一個「頁面」)。

像這樣(未測試):

//first page using default size of 10 
photos.getPage(0); 

//second page with page size 25 
photos.getPage(1, 25); 
相關問題