我需要在表格视图中显示由单个ajax请求(无分页)返回的大约1000条记录。
因为,对于行和列,每个循环都有两个循环,渲染花费了太多时间(大约10秒)。
使用简单的方法,Ember在这种情况下渲染视图需要很长时间。请提出建议,在这种情况下,我该怎么做才能提高性能。
{{#each column in columns}}
{{#each row in rows}}
Some content
{{/each}}
{{/each}}
建议将受到高度赞赏。谢谢。
答案 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>