0

我有一个主要的模型集合,然后我将它们过滤成 3 个单独的集合(思考分类菜单)。我有一个计时器来获取我的主集合以确保它是同步的。我过滤的每个集合都是 Marionette CollectionView 的基础,并在第一次通过时正确呈现。计时器完成我的主集合提取后,每个过滤的集合都会使用主集合的数据进行刷新。

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

我该如何解决这个问题?

4

2 回答 2

0

问题是我。:)

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

于 2012-12-31T16:54:29.233 回答
0

在我看来,您通过引用共享某些对象。如果您想包含 3 个基于某些原始共享状态的隔离集合,但不创建与该状态的任何关系,我将复制所有数据并创建新对象。这可以通过_.extend完成。

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

于 2012-12-31T16:35:35.633 回答