你怎么知道集合视图中的所有项目视图何时被渲染?

时间:2015-01-13 14:34:02

标签: javascript backbone.js backbone-collections chaplinjs

我有一个使用以下流程的backbone.js / Chaplin应用程序:

  1. 使用集合实例化的集合视图
  2. 从服务器获取集合
  3. 同步集合渲染"项目视图"对于集合视图中的每个模型。
  4. 这可能是一个包含大量待办事项的待办事项列表。让我们想象有1000个待机。

    当渲染所有待办事项时,我想将jQuery效果应用于集合视图,因此我需要确保所有项目视图都已完全呈现。

    在应用jQuery效果之前,确保所有项目都已在集合视图中呈现的最佳方法是什么?

    我正在等待最后一个视图渲染然后调用jQuery效果,但是这不起作用,因为它似乎还没有在页面上绘制html。它只在我添加超时时才能正常工作。

    以下是项目视图中渲染功能的代码:

           render: function () {
                BaseView.prototype.render.apply(this, arguments);
                if (this.isLastItemView()) {
                    setTimeout(function () {
                        Chaplin.mediator.publish('last_news_item_rendered');
                    }, 1000);
                }
            }
    

0 个答案:

没有答案