表达式变量之前的双冒号在角度js中做了什么?

时间:2016-02-13 19:24:48

标签: angularjs

在表达式变量之前放置角度JS中的双冒号(::)是什么意思。 对于Ex。 {{::的firstName}}

角度js中{{firstName}}和{{:: firstName}}之间有什么区别?

1 个答案:

答案 0 :(得分:18)

取自:https://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135

它的内容如下:

  

一次性绑定语法{{ ::value }}

     

AngularJS最近在测试版中放弃了一个非常有趣的功能   版本1.3.0:一次呈现数据并让它持久化的能力   不受未来模型更新的影响。这是个好消息   对于高度关注性能的开发人员!在此更新之前,   我们通常会在DOM中呈现一个值,如下所示:

 <h1>{{ title }}</h1>
     

使用新的一次性绑定语法,我们引入了一个双冒号   在我们的价值之前:

 <h1>{{ ::title }}</h1>
     

Angular像往常一样处理DOM,一旦值已经处理   解决了它从内部删除特定属性   $$watchers列表。这对性能意味着什么?很多!这是一个   除了帮助我们微调我们的应用程序外,还有很棒的功能。

     

众所周知,Angular会因约2,000个绑定而变慢   进行脏检查的过程。我们越少可以添加到此   限制更好,因为绑定可以加起来而没有我们真正注意到   它!

     

使用单一绑定语法很简单,最重要的是快速。   语法清晰简洁,降低了语法的真正好处   $$watcher开销。 Angular必须做的工作越少,越多   响应我们的应用程序将成为。