我的ember.js应用程序的某些部分必须刷新,它需要几个secends(例如循环中的排序元素)。我希望在通过把手循环#each
运行时显示加载图像。怎么做?
{{#each}}
{{! display some big data}}
{{/each}}
我不想做任何ajax请求指示器,只在循环期间,我必须一次显示所有数据。
答案 0 :(得分:0)
奇怪的要求,但是你去......
如果您想显示通过服务器获取的结果。
{{#if bigData.isFulFilled}}
{{#each object in bigData}}
<! display some big data>
{{/each}}
{{else}}
<! display some loading helper here>
{{/if}}
在其他情况下,你的瓶颈是处理速度,可能会通过你想在控制器中显示in a Ember.run
block的数组,确保你的数组只在循环结束时被刷新。
App.BigDataController = Ember.Controller.extend({
bigData: (function() {
Ember.run(function() {
<do your stuff here>
});
}).property()
});
之后做上述事情:
{{#if bigData}}
{{#each object in bigData}}
<! display some big data>
{{/each}}
{{else}}
<! display some loading helper here>
{{/if}}
有cool example here显示Ember.run和explained at this post.