【问题标题】:Re-render backbone view when fetching collection with add:true parameter使用 add:true 参数获取集合时重新渲染主干视图
【发布时间】:2012-07-16 09:37:18
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript backbone.js backbone-events backbone-views


    【解决方案1】:

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

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

    // 或对函数的引用 - 你明白了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 2012-06-22
      相关资源
      最近更新 更多