Ответ 1
Синтаксис {{::office.name}}
- это {{::office.name}}
времени, доступная с версии 1.3
Вот хороший блог, объясняющий это.
В чем разница между:
{{::office.name}}
а также
{{office.name}}
в угловом JS?
Синтаксис {{::office.name}}
- это {{::office.name}}
времени, доступная с версии 1.3
Вот хороший блог, объясняющий это.
Выражение, начинающееся с
::
, считается одноразовым выражением. Одноразовые выражения прекращают пересчет, как только они стабильны, что происходит после первого дайджеста, если результат выражения не является неопределенным значением (см. Ниже алгоритм стабилизации стоимости).
Во многих ситуациях значения должны отображаться только в представлении и никогда не будут обновляться из представления или контроллера. Однако, если используется двусторонняя привязка, $digest
будет проверять любые изменения в выражении в каждом цикле, что необязательно. В этих случаях ::
выражение должно использоваться перед выражением. Как указано в вышеприведенном утверждении, это более эффективно, чем синтаксис двустороннего связывания для таких случаев.
Блог: синхронный синтаксис AngularJS от детектора @Todd
В оболочке ореха, когда мы объявляем значение, такое как
{{ ::foo }}
внутри DOM, как только это значение будет определено, Angular отобразит его, отвяжет его от наблюдателей и тем самым уменьшит объем привязок внутри$digest
петля. Просто!