问题描述
是。您可以在每个表达式前添加::
,甚至可以在ngIf
或中添加前缀ngClass
:
<div ng-if="::(user.isSomething && user.isSomethingElse)"></div>
<div ng-class="::{classNameFoo: user.isSomething}"></div>
实际上,代码只是检查表达式中的前两个字符是:
为了激活一次性绑定(然后将其删除,因此甚至不需要括号)。其他所有内容保持不变。
解决方法
自1.3.0-beta.10版本以来,AngularJS具有一项新功能:“懒惰的一次性绑定”。
可以在简单表达式的前面加上::
,告诉angular在首次评估表达式后停止观看。给出的常见示例如下所示:
<div>{{::user.name}}</div>
类似以下表达式的语法是否类似?
<div ng-if="user.isSomething && user.isSomethingElse"></div>
<div ng-class="{classNameFoo: user.isSomething}"></div>