Estoy tratando de hacer que esto funcione, pero lucho con eso. Mi colección termina vacía cuando reviso la devolución de llamada success
en fetch
. No me da ningún error claro durante parse
. Aquí está mi código:¿Cómo crear una colección con varios tipos de modelo en backbone.js?
Mi colección:
VOR.Collections.GridItems = Backbone.Collection.extend({
model : VOR.Models.GridItem,
url: "assets/data/grid.json",
parse: function(response){
var self = this;
_.each(response, function(griditem){
switch(griditem.type){
case "news":
self.add(new VOR.Models.NewsGridItem(griditem));
break;
default:
self.add(new VOR.Models.StandardGridItem(griditem));
break;
}
});
}
});
Es así como se crea la colección:
griditems = new VOR.Collections.GridItems();
griditems.fetch({
error: function(e) {console.log(e);},
success: function(msg) {
console.log(msg)
});
Cuando me consuelo ingrese msg
me sale: Object {longitud = 0, los modelos = [0], _byId = {...}, más ...}
También he registrado la función parse
en la colección y se ejecuta a través del archivo JSON muy bien ... cualquier ideas sobre lo que podría estar mal aquí? La longitud del objeto msg
debe ser 5..i.e. esa es la cantidad de veces que la función parse
gira y (debería) agregar un modelo a la colección.
Gracias por esto! Esto es mucho mejor que hacerlo en 'parse', porque esto también es para los datos bootstrap. – philoye
Esto es exactamente lo que estaba buscando. ¡Gracias! –
Creo que la primera línea debe ser 'var VOR.Collections.GridItems = Backbone.Collection.extend ({' – marcos82