0

我有骨干集合,在某些情况下,我会通过以下方式将更多模型提取到集合中:

collection.fetch({data: {...}, add: true});

当新成员到达时,我需要重新渲染集合的视图。由于 add:true 参数,“reset”事件没有被触发,因此我看到了两个选项。

  1. 将 this.render 函数绑定到集合的“add”事件。这是可行的,但会为从服务器到达的每个新模型调用渲染函数。
  2. 传递 silent:true 作为 fetch 参数并在下一行显式调用 this.render() ,但是在下一行数据仍然没有到达,因此使用旧数据调用渲染函数。

我还没有找到任何其他方法来解决这个问题:( 任何建议在这种情况下我应该怎么做?

4

1 回答 1

2

success如果这是您的首选方式,您还可以将回调作为选项传递给 fetch 方法并在成功的 ajax 操作后触发完全重新渲染

collection.fetch({data: {...}, add: true, success: function() { ... } }); 

// 或对函数的引用 - 你得到了练习

于 2012-07-17T13:04:30.393 回答