每当我从服务器获取主集合时,为什么我的主要集合会填充我的过滤集合?

时间:2012-12-31 15:37:25

标签: backbone.js marionette

我有一个主要的模型集合,然后我会过滤到3个独立的集合(想想分类菜单)。我有一个计时器来对我的主集合进行提取,以确保它是同步的。我的每个过滤集合都是Marionette CollectionView的基础,并且第一次正确渲染。一旦我的主集合提取由计时器完成,每个过滤的集合都会刷新主集合的数据。

更新:我的猜测是,因为我将过滤后的集合包装在一个新的Backbone.Collection中,重置将应用于我共享相同模型的每个集合,因此获取触发我的集合上的重置,实际上也触发了我所有过滤集合的重置,然后用完整的集合填充它。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

在我看来,您通过引用分享某些对象。如果你想根据一些原始的共享状态包含3个独立的集合,但是没有创建与该状态的任何关系,我会复制所有数据并创建新对象。这可以通过_.extend完成。

我可能会完全误解你的情况。一些上下文/代码会有所帮助。

答案 1 :(得分:0)

问题在于我。 :)

我没想到,我正在创建主要集合类型的新实例,即使对于我的过滤集合也是如此。这也是在所有过滤的集合上创建计时器,当然是使用主集合数据刷新过滤的集合。