ng-style和style有什么区别?


在使用angularjs时,如下

使用一般style

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

使用ng-style

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

使用 once-style

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

注意 : once-style 需要使用 AngularOnce Directive.

这几者之间有何不同?

angularjs 不同

永远亭D辉夜 9 years, 6 months ago

简而言之,如果你想在style中使用变量,那么请考虑使用ng-style

所以,不要这样写

style="width: {{progress}}"

而是使用ng-style:

ng-style="{'width':progress}"

这是因为,ng-style监控model的状态,只有当model改变时,ng-style才会去更新view

至于once-style,是否使用取决于你的应用场景,比如下例,background-color在以后极大的可能是不会改变的

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

使用 {{}} 的意思是,Angular将在每个digest周期更新这个binding,不管值是否有变化,所以这里应该尽量避免。

琴吹 ななせ answered 9 years, 6 months ago

Your Answer