1

我有一个带有以下流程的主干.js/Chaplin 应用程序:

  1. 用集合实例化的集合视图
  2. 从服务器获取集合
  3. 在集合同步时,为集合视图内的每个模型呈现一个“项目视图”。

这可能是一个包含大量待办事项的待办事项列表。假设有 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);
            }
        }
4

0 回答 0