[英]Partitioning items of a backbone.js collection (for grouped rendering)
假设,我有一个名为Item
的骨干ItemCollection
模型,该模型存储在ItemCollection
。 给定Item
具有一个属性date
,对ItemCollection
进行分区的最佳方法是什么,以使共享相同日期的所有项目都位于同一分区中?
最终,应该将分区的数据结构返回到一个(backbone.js)视图,该视图应该呈现按日期分组的项目。
最好的方法是什么?
到目前为止,我认为
在呈现索引视图时动态提取分区,但这可能会破坏主干基于事件的机制来呈现集合/模型更新的优雅。
将每个分组标题表示为Header
模型的实例,并将集合及其分区附加到该模型。 我将需要以某种方式使附加到Header
实例的分区与主ItemCollection
保持同步,但这可能可以通过主干的事件处理机制进行管理。
这些方法有道理吗? 还有其他想法吗?
PS:分组结构在我的后端数据模型中不存在(我想避免引入它),因此这是一些需要在客户端动态进行的映射
您似乎可以同时使用这两个选项。 我可能会这样处理:
Header
,您还可以使用ItemGroup
模型(更具描述性),将Item
呈现在其collection
的内部,该collection
将是较大ItemCollection
的分区。 AppView
时,可以完成分区本身。 在AppView#render
,根据需要对数据进行分区。 (您没有明确询问如何对数据进行分区,但是可以使用Underscore在几行代码中完成此操作。) AppView#render
绑定到ItemCollection
的add
和remove
事件,以便无论何时添加新项目,分区都会自行重新渲染。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.