【发布时间】:2014-02-05 00:42:06
【问题描述】:
我正在尝试使用backbone.marionette 实现分页 复合视图首先进行初始提取:
collection.fetch({reset: true})
要将其他模型加载到同一个集合中,
collection.fetch({reset: false, remove: false})
已使用。
我在每次使用带有 {reset: false} 的 fetch() 时都看到了这一点 触发多个添加事件(对于添加的每个模型。) 基本上没问题,但是在查看带注释的源时 在木偶中的compositeView的appendHtml函数如下 声明:
缓冲发生在重置事件和初始渲染上,以便 减少插入文档的次数,这很昂贵。
虽然这对于初始提取非常有用(仅 1 个浏览器重排),但每个 随后使用 {reset: false} 获取可能会变得非常昂贵 (在添加的每个模型上回流)。真的好像 每次都 append() itemView - 导致回流 (compositeView.isBuffering 为假)。
有没有办法“批量”处理模型并进行一次插入 (与重置事件相同)?
这是否需要在 appendHtml 实现中进行覆盖 并自己实现批处理逻辑?
【问题讨论】: