Co oznaczają dwa dwukropki wewnątrz wyrażenia kątowego {{::}}?

Odpowiedzi:

85

{{::office.name}}Składnia jest wiążąca kątowej w One-Time, dostępne od wersji 1.3
Oto miły blog tłumacząc go.

Teo.sk
źródło
99

Jednorazowe wiązanie z Angular Docs.

Wyrażenie zaczynające się od ::jest traktowane jako wyrażenie jednorazowe. Wyrażenia jednorazowe przestaną się ponownie obliczać, gdy staną się stabilne, co ma miejsce po pierwszym podsumowaniu, jeśli wynik wyrażenia jest wartością nieokreśloną (patrz algorytm stabilizacji wartości poniżej).

W wielu sytuacjach wartości muszą być wyświetlane tylko w widoku i nigdy nie będą aktualizowane z widoku lub kontrolera. Jeśli jednak używane jest wiązanie dwukierunkowe, $digestsprawdzi wszelkie zmiany w wyrażeniu w każdym cyklu, co nie jest konieczne. W takich przypadkach ::należy użyć przed wyrażeniem. Jak stwierdzono w powyższym oświadczeniu, jest to bardziej wydajne niż dwukierunkowa składnia wiążąca w takich przypadkach.


Blog: Składnia jednorazowego wiązania AngularJS z @Todd Motto

W łupinie orzecha, gdy zadeklarujemy wartość, taką jak {{ ::foo }}wewnątrz DOM, po zdefiniowaniu tej wartości, Angular wyrenderuje ją, usunie wiązanie z obserwatorów, a tym samym zmniejszy głośność powiązań wewnątrz $digestpętli. Prosty!

Tushar
źródło