表情的angular度懒惰一次绑定
自1.3.0-beta.10版本以来,AngularJS有了一个新的function: “懒惰的一次性绑定” 。
简单的expression式可以用::
作为前缀,在第一次评估expression式之后告诉angular度停止观察。 给出的常见例子是这样的:
<div>{{::user.name}}</div>
是否有像以下类似的expression式类似的语法?
<div ng-if="user.isSomething && user.isSomethingElse"></div> <div ng-class="{classNameFoo: user.isSomething}"></div>
是。 你可以用::
来加前缀每个expression式,即使在ngIf
或者ngClass
中ngIf
ngClass
:
<div ng-if="::(user.isSomething && user.isSomethingElse)"></div> <div ng-class="::{classNameFoo: user.isSomething}"></div>
实际上, 代码只是检查expression式中的两个第一个字符是:
为了激活一次性绑定(然后删除它们,因此甚至不需要括号)。 其他一切都保持不变。