【发布时间】:2015-03-09 02:03:54
【问题描述】:
我在下面有一个示例,它创建了两个父模型,然后使用自定义函数将子模型推送到父模型的数组中。
JS斌:http://jsbin.com/hamuro/4/edit?html,console
var Child = Backbone.Model.extend({});
var Parent = Backbone.Model.extend({
defaults: {
children: []
},
addChild: function() {
var child = new Child();
this.get('children').push(child);
return child;
}
});
var parent1 = new Parent();
var parent2 = new Parent();
parent2.addChild();
parent2.addChild();
console.log('Parent 1 Total Children: ' + parent1.get('children').length);
console.log('Parent 2 Total Children: ' + parent2.get('children').length);
预期输出:
“父母1个孩子总数:0”
“父母2个孩子总数:2”
实际输出:
“父母1个孩子总数:2”
“父母2个孩子总数:2”
问题:
为什么即使我只指定了孩子被推送到 parent2,孩子也会被推送到两个父模型?
【问题讨论】: