Backbone.js atributo de matriz vacía
Tengo un problema extraño con un modelo Backbone.js en el que un miembro de la matriz se muestra en blanco. Se ve algo como esto:
var Session = Backbone.Model.extend({
defaults: {
// ...
widgets: []
},
addWidget: function (widget) {
var widgets = this.get("widgets");
widgets.push(widget);
this.trigger("change:widgets", this, widgets);
},
// ...
// I have a method on the model to grabbing a member of the array
getWidget: function (id) {
console.log(this.attributes);
console.log(this.attributes.widgets);
// ...
}
});
Luego agrego un widget a través deaddWidget
. Cuando intentogetWidget
El resultado que obtengo (en Chrome) es este:
Object
widgets: Array[1]
0: child
length: 1
__proto__: Array[0]
__proto__: Object
[]
Está mostrando que los widgets no están vacíos cuando se registrathis.attributes
pero se muestra vacío cuando se registrathis.attributes.widgets
. ¿Alguien sabe qué causaría esto?
EDITAR He cambiado el modelo para crear una instancia de la matriz de widgets en el método de inicialización para evitar referencias en varias instancias, y comencé a usarcolumna vertebral anidada sin suerte