EmberJS中的渲染优化

时间:2016-05-20 12:04:03

标签: html optimization ember.js

我需要在表格视图中显示由单个ajax请求(无分页)返回的大约1000条记录。

因为,对于行和列,每个循环都有两个循环,渲染花费了太多时间(大约10秒)。

使用简单的方法,Ember在这种情况下渲染视图需要很长时间。请提出建议,在这种情况下,我该怎么做才能提高性能。

{{#each column in columns}}
  {{#each row in rows}}
    Some content
  {{/each}}
{{/each}}

建议将受到高度赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

也许你正在寻找的是:https://github.com/runspired/smoke-and-mirrors

您不需要任何分页或任何只呈现可见内容的内容,然后向下滚动它将呈现更多内容,请查看演示:

http://runspired.github.io/smoke-and-mirrors/#/examples/infinite-scroll

关于嵌套循环,在setupController方法中转换该数据可能是合理的。

实现这个的代码非常简单:

 <div class="table-wrapper dark">
  {{#vertical-collection
    content=model.numbers
    defaultHeight=270
    alwaysUseDefaultHeight=true
    useContentProxy=false
    firstReached="loadAbove"
    lastReached="loadBelow"
    as |item index|
  }}
      <div class="image-slide">
        {{examples/infinite-scroll/components/number-slide number=item.number index=index}}
      </div>
  {{/vertical-collection}}
</div>