Qu'est-ce que deux colons dans une expression angulaire {{::}} signifient?

Quelle est la différence entre:

{{::office.name}} 

et

 {{office.name}} 

Dans angularJS?

La syntaxe {{::office.name}} est la liaison One-Time d'Angular, disponible depuis la version 1.3
Voici un joli blog qui l'explique.

Reliure ponctuelle de Docs Angulaires.

Une expression qui commence par :: est considérée comme une expression ponctuelle. Les expressions ponctuelles arrêteront le recalcul une fois qu'elles sont stables, ce qui se produit après le premier résumé si le résultat de l'expression est une valeur non définie (voir l'algorithme de stabilisation de la valeur ci-dessous).

Dans de nombreuses situations, les valeurs doivent être affichées uniquement dans la vue et ne doivent jamais être mises à jour depuis la vue ou le contrôleur. Cependant, si la liaison bidirectionnelle est utilisée, $digest vérifiera les modifications de l'expression dans chaque cycle, ce qui n'est pas nécessaire. Dans ces cas, :: doit être utilisé avant expression. Comme indiqué dans l'énoncé ci-dessus, il est plus efficace qu'une syntaxe de liaison bidirectionnelle pour de tels cas.


Blog: AngularJS syntaxe de liaison ponctuelle de @Todd Motto

Dans une coquille de noix, lorsque nous déclarons une valeur telle que {{ ::foo }} à l'intérieur du DOM, une fois que cette valeur sera définie, Angular le rendra, le détachera des observateurs et réduira ainsi le volume de liaisons à l'intérieur du $digest boucle. Simple!