我将构建一个包含大量数据的大型表(大约2000个元素<td>
)。我想有一些函数来根据模型计算值,但我不会在那里有任何绑定。主要是我要显示在json中返回的数据。在这种奇特的情况下,角度是否会比使用DOM更快地渲染DOM?
答案 0 :(得分:1)
不是一个非常好的问题(太多意见)。一般来说:
如果你绑定了这一次并走开了和,如果性能如此高,请考虑使用服务器来渲染表。
如果这是针对一个大型系统,并且您正在决定使用哪个框架,请考虑在两个平台中实施测试用例。你会很快看到它们的工作方式与ember和angular之间的区别,你可能会发现你更喜欢一种方式而不是另一种方式。而且你将获得更真实的数据。
答案 1 :(得分:0)
在大多数测试中,Ember.js的执行速度比AngularJS慢几倍。
在这个测试场所中,两个框架都是头对头操纵10,000个元素的数据集。之后,他们都被要求动画400个物体。
渲染(10,000个元素):
Ember - http://jsbin.com/AzaceNo/1/
Angular - http://jsbin.com/ucopUca/1/
结果:Angular赢得大约400%。这可能是因为AngularJS没有为EmberJS设置每个元素的观察者。
数据绑定(更改10,000个元素):
Ember - http://jsbin.com/IYAdIVEP/2/
Angular - http://jsbin.com/AGIJUmOj/1/
结果:Ember最初挂起,但由于每个元素上的观察者,渲染速度略快。
操作(动画400个对象):
Ember - http://jsbin.com/UCuJiH/1/
Angular - http://jsbin.com/uTuqOsO/1/
结果:AngularJS执行效率更高,并且生成更快,更一致的输出,因为它在调用$ apply()函数后立即更改视图并更改所有400个元素。 Ember在观察者的帮助下改变了400个元素,相当于调用$ apply()400次。
预测:基于先前的性能测试(包括操作400到10,000个元素之间的数据集),AngularJS很可能比EmberJS更快地渲染2000元素列表的DOM元素。
来源:voidcanvas