更多HTML属性或值会损害Angular性能吗?

时间:2016-09-11 12:12:02

标签: javascript angularjs performance frontend

如果有p这样:

<p ng-repeat="text in texts">{{text}}</p>

在渲染html时,向p添加更多类是否会损害Angular性能?例如,这段代码:

<p ng-repeat="text in texts" class="normal par red small italic">{{text}}</p>

如果它会影响性能问题,那真的值得注意吗?

2 个答案:

答案 0 :(得分:0)

首先,您可以在ng-repeat中调整的一个方面是唯一键:Angular会自动将$$hashKey属性添加到数组中的每个对象。

您可以添加track by来提高循环效果。

然后,如果它只是为了添加类,那就没关系。但是,如果你有一个很大的文本列表,并且你愿意在每个元素上添加指令(例如:ng-click),那么你可以观察到一些缓慢的渲染。

答案 1 :(得分:0)

在您的示例中,类只是一些字符串,仅此而已。 Angular甚至不需要考虑它。如果有成本,那么它应该在浏览器端编译您的类并分配样式。

因为我可以访客为什么要添加类,我认为拥有更多类也比分层CSS样式更好,因为它需要更少的DOM查询和操作。

没关系。但是,仍然可以通过基准测试来引导一些更复杂的问题。所以试一试。