2012-05-06 28 views
11

Sé que hay un componente para esto, pero basado en lo que veo, tiene que crear una nueva colección con el componente extendido. ¿Hay alguna otra forma de hacer paginación en la red troncal?Paginación en Backbone.js

Todo lo que necesito es solo un botón anterior y siguiente que limite los elementos por página a 12. Lo he estado creando en javascript (no es una buena solución para entornos de producción). ¿Algunas ideas?

Respuesta

24

Dado que la colección Backbone tiene los métodos de subrayado extendidos, es posible que desee crear el método de paginación auxiliar muy fácil. Utilizo algo como:

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

Esto devuelve toJSON de su colección, es posible jugar con él en el jsFiddle: http://jsfiddle.net/YHmrp/2/

+0

increíble, sólo hay que encontrar la manera de llamar a mi fin de hacer que el per modelo. En realidad estaba mirando las funciones de guión bajo, pero todavía estaba mirando la función groupby cuando respondiste esto. Gracias. – jongbanaag

+0

muchas gracias! –