有什么区别:
{{::office.name}}
和
{{office.name}}
在angularJS?
以...开头的表达式
::
被视为一次性表达式.一次性表达式将在稳定后停止重新计算,如果表达式结果为非未定义值,则会在第一次摘要后发生(请参阅下面的值稳定算法).
在许多情况下,值只需要在视图中显示,并且永远不会从视图或控制器更新.但是,如果使用双向绑定,$digest
将检查每个循环中表达式的任何更改,这是不必要的.在这些情况下,::
应该在表达之前使用.如上面的声明中所述,对于这种情况,这比双向绑定语法更有效.
博客:来自@Todd Motto的AngularJS一次性绑定语法
在一个坚果shell中,当我们
{{ ::foo }}
在DOM中声明一个值时,一旦定义了这个值,Angular就会渲染它,将它与观察者解除绑定,从而减少$digest
循环内部的绑定量.简单!
该{{::office.name}}
语法角度的一次性结合,可用自1.3版
下面是一个不错的博客解释它.