0

我的主干应用程序中有一个简单的文档集合。这个集合有一个包含所有文档的视图,它们应该按创建的月份分组。

此视图必须实时更新 - 当我创建新文档或修改现有文档时,应将其添加/移动到视图中的正确位置。

实现这一目标的最佳方法是什么?

4

2 回答 2

0

Backbone 集合有很多方法,包括groupBy。这可用于对您的收藏进行分组。

视图必须监听reset集合事件,所以如果集合重置(意味着它被分组和更新),视图必须相应地更新 DOM。最简单的解决方案,只是完全重新渲染视图。如果需要,您可以进行一些优化,

于 2012-09-03T08:12:19.013 回答
0

您应该为您的集合创建一个比较器方法(使用 groupBy,如上一个答案所建议的那样,或任何其他适合您需要的方法)。然后,您应该让您的集合在每次触发“添加”、“删除”或“重置”事件时触发渲染方法,以便“实时”更新视图。

例如,在您的视图初始化方法中,一种方法是:

  collection.documents.on "add", @render
  collection.documents.on "remove", @render
  collection.documents.on "reset", @render

比较器方法的目的正是使集合元素始终保持排序。

于 2012-09-03T14:59:03.027 回答