Tengo el siguiente modelo con la colección anidadapueblan colecciones anidadas con el modelo de los padres traen
var Mdl = Backbone.Model.extend({
initialize: function() {
// collection
this.col1 = new NestedCollection();
},
...
});
quisiera enviar los datos para el modelo y los modelos de la colección en una solicitud que buscan algo parecido :
{
att1: val,
col1: [{obj1: val}, {...}]
}
estoy seguro sobre la mejor manera de entregar los datos de la solicitud a la colección anidada (col1). No puedo hacer ...
var Mdl = Backbone.Model.extend({
initialize: function() {
// collection
this.col1 = new NestedCollection(this.get('col1');
},
...
});
... porque en el momento de la inicialización se llama la función de análisis del modelo no se ha llamado lo que significa que el atributo está vacío col1, otra solución pensé fue escuchar por el cambio en el modelo de los padres como ...
model.bind("change:tags", function() {
model.col1.refresh(model.get('col1'));
});
Sin embargo esta solución se siente un poco de mano dura y potencialmente podría romper cualquier
this.col1.bind("add", function() {})
y
this.col1.bind("remove", function() {})
configuración de la función en la colección.
¿Alguien tiene alguna idea de la forma "oficial" de hacer esto?
Gracias.
Perfecto, muchas gracias !! – luxerama
No estoy totalmente de acuerdo con esta solución. 'parse()' debería devolver un montón de atributos. Ahora tiene un efecto secundario extraño de establecer algo directamente en el modelo. Tal vez sea mejor reemplazar el contenido de la clave de recopilación con una colección adecuada de columna vertebral. – harm
+1 para el regreso –