Что означают два двоеточия внутри углового выражения {{::}}?

Ответы:

85

{{::office.name}}Синтаксис угловых одноразовая связывания, начиная с версии 1.3
Вот хороший блог объяснения.

Teo.sk
источник
99

Одноразовая привязка из Angular Docs.

Выражение, которое начинается с ::, считается одноразовым выражением. Одноразовые выражения перестанут пересчитываться, как только они станут стабильными, что происходит после первого дайджеста, если результатом выражения является не неопределенное значение (см. Алгоритм стабилизации значения ниже).

Во многих ситуациях значения должны отображаться только в представлении и никогда не будут обновляться из представления или контроллера. Однако, если используется двусторонняя привязка, $digestбудет проверяться наличие каких-либо изменений в выражении в каждом цикле, что необязательно. В этих случаях ::следует использовать перед выражением. Как указано в приведенном выше утверждении, в таких случаях это более эффективно, чем синтаксис двусторонней привязки.


Блог: синтаксис одноразовой привязки AngularJS от @Todd Motto

В скорлупе, когда мы объявляем значение, например, {{ ::foo }}внутри DOM, как только это значение становится определенным, Angular отрендерит его, отвяжет от наблюдателей и, таким образом, уменьшит объем привязок внутри $digestцикла. Просто!

Тушар
источник