Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个集合中的模型?_Javascript_Backbone.js_Coffeescript - Fatal编程技术网

Javascript 多个集合中的模型?

Javascript 多个集合中的模型?,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我有点迷路了,所以任何帮助都将不胜感激。(我正在使用Backbone.js和CoffeeScript。) 我有一组模特。它们都放在MasterCollection中 MasterCollection扩展了主干 型号:型号 添加({#新模型的属性}) 我有时需要分离这些模型,并分批处理它们的属性。这些批处理还需要具有相应的DOM视图,该视图可以显示所有模型的数据 Model扩展主干。Model 初始化:()-> #将模型添加到其批次中,批次是存储在数组中的集合 batches=ParentMod

我有点迷路了,所以任何帮助都将不胜感激。(我正在使用Backbone.js和CoffeeScript。)

我有一组模特。它们都放在
MasterCollection

MasterCollection扩展了主干
型号:型号
添加({#新模型的属性})
我有时需要分离这些模型,并分批处理它们的属性。这些批处理还需要具有相应的DOM视图,该视图可以显示所有模型的数据

Model扩展主干。Model
初始化:()->
#将模型添加到其批次中,批次是存储在数组中的集合
batches=ParentModel.get('baches')
#查找此模型所属的批次
批量生产
如果批次=#正确的批次
batch.add(@toJSON)
批处理扩展主干。收集
changeAttributes:()->
对于@models中的模型
#改变关于模型的事情
  • 当批量更改此模型时,它是否会更新主集合中的模型
  • 当我完成批量收集时,如何在不删除其模型的情况下摆脱它
  • 我是否应该将这些批处理集合存储在比数组更好的位置?他们应该是模特吗
因为我需要DOM绑定到新批的创建中,所以将它们作为集合中的模型将非常好

总的来说,这是做这类事情的好方法吗

谢谢

当批量更改此模型时,它将更新MasterCollection中的模型

既然你在做

batch.add(@toJSON)
实际上,您只是将模型的克隆添加到
批处理
集合中。因此,当您更改集合的模型属性时,原始模型不会受到影响

当然,这些都是肤浅的复制品,所以如果你像

(batch.at(0).get 'attr').x = y
attrCopy = _.extend {}, batch.at(0).get 'attr'
attrCopy.x = y
batch.at(0).set attr: attrCopy
您将修改原始文件的
attr
属性。(您也不会触发任何更改事件。)一般来说,这是一个没有主干的问题。相反,做一些类似的事情

(batch.at(0).get 'attr').x = y
attrCopy = _.extend {}, batch.at(0).get 'attr'
attrCopy.x = y
batch.at(0).set attr: attrCopy

现在我在想一个批应该是一个包含模型集合的批模型,思维?也可以创建模型集合的批。您可以在多个集合中添加一个模型,并且该模型可以工作,其事件将在所属的所有集合中广播。在其他工作中,不要使用toJSON复制数据,只需执行batchCollection.add(此)