之间有什么区别?
{{::office.name}}
和
{{office.name}}
在angularJS中?
Answers:
以开头的表达式
::
被视为一次性表达式。一次性表达式一旦稳定就将停止重新计算,如果表达式结果为非不确定值,则在第一次摘要后会发生(请参见下面的值稳定算法)。
在许多情况下,这些值仅需要在视图中显示,并且永远不会从视图或控制器中进行更新。但是,如果使用双向绑定,$digest
则将在每个循环中检查表达式中是否有任何更改,这是不必要的。在这些情况下,::
应在表达前使用。如以上声明所述,在这种情况下,这比双向绑定语法更有效。
在坚果壳中,当我们
{{ ::foo }}
在DOM内部声明一个值时,一旦定义了该值,Angular将呈现它,将其与观察者解除绑定,从而减少$digest
循环内的绑定量。简单!