函数:为什么主干集合中的所有子集合都在更新
function: why are all children updating in this backbone collection?
我有一个Backbone collectionView,其中包含x数量的公司。我还收集了x数量的产品。
我想获得一个随机产品,并将其添加到一个随机公司的"资产"列表中。(公司从this.getRandomCompany()
函数返回)
但是当我运行下面的函数时,所有公司的子公司都会同时更新相同的产品。
console.log(randomCompany)
的结果是一个子,那么为什么所有的子都在更新?
addProduct: function() {
var randomProductIndex = Math.round(Math.random() * (this.products.length));
var randomProduct = new App.CompanyModule.Product({
"name": this.products[randomProductIndex]
});
this.getRandomCompany(_.bind(function(randomCompany) {
console.log(randomCompany);
randomCompany.model.get("assets").add(randomProduct);
this.render();
}, this));
},
您的Company模型如何定义资产属性?如果它被定义为模型的直接属性或在默认的对象中,那么您将得到您所描述的行为。如果是这种情况,将其移动到默认的方法,例如
var Company = Backbone.Model.extend({
...
defaults: function() {
return {
assets: []
}
},
...
});
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 从选项页面更新chrome扩展清单权限
- 如何在不刷新页面的情况下更新显示框
- 如何使用重复的 id 保存子集合的元素
- 节点.js / 猫鼬 - 从子集合中添加、更新和删除项目
- Ember.js:live更新不适用于#each绑定到存储记录的子集
- 如何在主干中转换具有子集合的集合.js
- 函数:为什么主干集合中的所有子集合都在更新