我的骨干应用程序中有一个简单的文档集合。此集合的视图包含所有文档,应按创建月份进行分组。
此视图必须实时更新 - 当我创建新文档或修改现有文档时,应将其添加/移动到视图中的正确位置。
实现这一目标的最佳方式是什么?
答案 0 :(得分:0)
Backbone集合有很多方法,包括groupBy。这可用于对您的收藏进行分组。
视图必须侦听reset
事件的集合,因此如果集合重置(意思是,它已分组并更新),视图必须相应地更新DOM。最简单的解决方案,只需完全重新渲染视图。如果需要,您可以进行一些优化
答案 1 :(得分:0)
您应该为集合创建comparator方法(使用groupBy,如前一个答案所建议的,或任何其他适合您需要的方法)。然后,每当触发“添加”,“删除”或“重置”事件时,您的集合应该触发渲染方法,以便“实时”更新视图。
例如,在您的views initialize方法中,一种方法是:
collection.documents.on "add", @render
collection.documents.on "remove", @render
collection.documents.on "reset", @render
比较法的目的正是为了使收集元素始终保持分类。