在 ember.js 执行此操作时,实际上旋转的微调器出现问题。我有一个非常通用的 jsfiddle 示例来说明这个问题:
我认为必须有一种简单的方法可以使这项工作按预期进行,但我没有找到它。我尝试使用具有相同结果的微调器 (spin.js) 的 JavaScript/CSS 实现。我看到一些东西表明这通常是一个 IE 问题,但这里不是这种情况。这发生在 Windows 上的所有浏览器上,我也在 Mac Safari 上进行了测试。
在 ember.js 执行此操作时,实际上旋转的微调器出现问题。我有一个非常通用的 jsfiddle 示例来说明这个问题:
我认为必须有一种简单的方法可以使这项工作按预期进行,但我没有找到它。我尝试使用具有相同结果的微调器 (spin.js) 的 JavaScript/CSS 实现。我看到一些东西表明这通常是一个 IE 问题,但这里不是这种情况。这发生在 Windows 上的所有浏览器上,我也在 Mac Safari 上进行了测试。
至于根本原因,@ChristopherSwasey 是正确的。我就此询问了其他几位 Ember 开发人员。没有解决方案,但有两个有趣的想法可能会有所帮助:
1) 一位开发人员报告说他遇到了这个问题,并通过确保动画 gif 在长时间的 javascript 执行之前启动来解决这个问题。
2)另一位开发人员建议使用虚拟化列表是正确的路径,以便只呈现可见节点。但是,恐怕我还不知道开源的 Ember 虚拟化列表类。
希望有帮助。
问题是你的 for 循环——你基本上是在锁定线程。我会使用超时并将要完成的工作分块,以使页面上的其他处理需求能够执行。