带绑定的ng-style或style属性?哪个更好?哪个更快?有什么不同?

时间:2014-03-14 10:57:44

标签: angularjs

我正在优化我的大型应用程序。我对以下两种方法感到困惑,请帮助确定哪一种更快。

内联样式属性

<div style="background-color:{{item.color}}"></div>

使用ng-style

<div ng-style="{'background-color':item.color}"></div>

使用一次式

<div once-style="{'background-color':item.color}"></div>

注意:对于once-style,我使用了AngularOnce指令。

提前致谢。请告诉我哪一个更快,为什么。

2 个答案:

答案 0 :(得分:29)

在Angular 1.3之后可以进行一次绑定。

您可以这样做而不依赖第三方库:

<div ng-style="::{'background-color': item.color}"></div>

我没有衡量表现,但我很确定它比没有冒号更好。

答案 1 :(得分:12)

由于您正在优化相当大的应用程序,因此性能肯定存在问题,我认为ngStyle在模型上设置监视时表现更好,并且仅在模型发生更改时才更新视图。

所以我会根据您的情况选择ngStyleonceStyle

<div once-style="{'background-color':item.color}"></div>

使用{{}}将使Angular更新每个摘要周期的绑定,即使该值未发生更改。