2012-05-06 34 views
11

Tôi biết rằng có một thành phần cho điều này nhưng dựa trên những gì tôi thấy bạn phải tạo một bộ sưu tập mới với thành phần được mở rộng. Có cách nào khác để làm pagination trong xương sống?Phân trang trong Backbone.js

Tất cả những gì tôi cần chỉ là một nút trước và tiếp theo giới hạn các mục trên một trang đến 12. Tôi đã tạo nó trên javascript (không phải là giải pháp tốt cho môi trường sản xuất). Bất kỳ ý tưởng?

Trả lời

24

Vì bộ sưu tập xương sống có phương pháp gạch dưới mở rộng, bạn có thể muốn tạo phương pháp phân trang trợ giúp rất dễ dàng. Tôi sử dụng một cái gì đó như:

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() }); 
    } 
}); 

này trả toJSON của bộ sưu tập của bạn, bạn có thể chơi với nó trong jsfiddle: http://jsfiddle.net/YHmrp/2/

+0

tuyệt vời, tôi chỉ cần phải tìm ra cách để gọi ra quan điểm của tôi để làm cho mỗi mô hình. Tôi đã thực sự nhìn vào các chức năng gạch dưới nhưng tôi vẫn nhìn vào chức năng groupby khi bạn trả lời điều này. cảm ơn. – jongbanaag

+0

cảm ơn bạn rất nhiều! –