2012-05-06 19 views
11

Wiem, że istnieje komponent do tego, ale na podstawie tego, co widzę, musisz utworzyć nową kolekcję z rozszerzonym komponentem. Czy istnieje inny sposób tworzenia stronicowania w szkielecie?Paginacja w Backbone.js

Wszystko czego potrzebuję to tylko poprzedni, a następny przycisk ogranicza liczbę pozycji na stronę do 12. Stworzyłem go na javascript (nie jest to dobre rozwiązanie dla środowiska produkcyjnego). Jakieś pomysły?

Odpowiedz

24

Ponieważ kolekcja kręgosłupa ma rozszerzone metody podkreślenia, można bardzo łatwo utworzyć metodę paginacji pomocników. Używam coś takiego:

var Paginated = Backbone.Collection.extend({ 

    pagination : function(perPage, page) { 
     page = page-1; 
     var collection = this; 
     collection = _(collection.rest(perPage*page)); 
     collection = _(collection.first(perPage));  
     return collection.map(function(model) { return model.toJSON() }); 
    } 
}); 

ta zwraca toJSON swojej kolekcji, można grać z nim w jsfiddle: http://jsfiddle.net/YHmrp/2/

+0

niesamowite, po prostu trzeba dowiedzieć się, jak nazwać mój widok do renderowania per Model. Właściwie to patrzyłem na funkcje podkreślenia, ale wciąż patrzyłem na funkcję grupową, kiedy na nią odpowiedziałeś. dzięki. – jongbanaag

+0

dziękuję bardzo! –