表达式的角度懒惰一次性绑定

时间:2014-05-31 12:12:34

标签: javascript angularjs binding lazy-evaluation

自版本1.3.0-beta.10以来,AngularJS有一项新功能:"lazy one-time binding"

简单表达式可以以::为前缀,告诉角度在首次评估表达式后停止观看。给出的常见例子如下:

<div>{{::user.name}}</div>

是否有类似以下表达式的语法?

<div ng-if="user.isSomething && user.isSomethingElse"></div>
<div ng-class="{classNameFoo: user.isSomething}"></div>

1 个答案:

答案 0 :(得分:160)

是。您可以为每个表达式添加前缀::,甚至是ngIfngClass中的表达式:

<div ng-if="::(user.isSomething && user.isSomethingElse)"></div>
<div ng-class="::{classNameFoo: user.isSomething}"></div>

实际上,the code只是检查表达式中的两个第一个字符是:,以便激活一次性绑定(然后删除它们,因此括号不均匀需要)。其他一切都是一样的。