【发布时间】:2017-08-28 11:58:45
【问题描述】:
我在 ng-repeat 指令中看到了这个部分代码
<div ng-repeat="image in images">
<img ng-src="{{::image.src}}"/>
</div>
不确定它是否与ng-repeat 指令有关。
无论有没有它,页面看起来都一样,但我很好奇它是什么。
【问题讨论】:
标签: javascript html angularjs binding
我在 ng-repeat 指令中看到了这个部分代码
<div ng-repeat="image in images">
<img ng-src="{{::image.src}}"/>
</div>
不确定它是否与ng-repeat 指令有关。
无论有没有它,页面看起来都一样,但我很好奇它是什么。
【问题讨论】:
标签: javascript html angularjs binding
此合成器用于 AngularJS 中的 one-time binding:
以
::开头的表达式被视为一次性表达式。 一次性表达式一旦稳定就会停止重新计算, 如果表达式结果是 非未定义值(参见下面的值稳定算法)。
请参阅related Plunker。
【讨论】:
这是一次性绑定的表示法。出于性能原因,它通常与 ngRepeat 一起使用。
【讨论】:
angular 中的:: 是将模板中的数据绑定一次,因此 Angular 不会在该字段上设置观察者。如果您不希望数据发生变化,您会希望这样做,因为它可以通过限制页面上的观察者数量来帮助提高性能,这里有一个包含更多信息和其他性能提示的链接:
http://www.befundoo.com/blog/optimizing-ng-repeat-in-angularjs/
【讨论】: