我在Backbone.js模型中遇到一个奇怪的问题,其中数组成员显示为空白。看起来像这样:
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);
// ...
}
});
然后,我通过添加小部件addWidget。尝试getWidget结果时(在Chrome中)是这样的:
Object
widgets: Array[1]
0: child
length: 1
__proto__: Array[0]
__proto__: Object
[]
它表明在记录时窗口小部件不是空的,this.attributes但在记录时它显示为空this.attributes.widgets。有人知道会导致什么吗?
编辑 我已经更改了模型,以在初始化方法中实例化小部件数组,以避免在多个实例之间进行引用,并且我开始使用没有任何运气的主干嵌套。
回首忆惘然
MMTTMM
相关分类