Co oznaczają dwa dwukropki wewnątrz wyrażenia kątowego {{::}}?
Jaka jest różnica między:
{{::office.name}}
I
{{office.name}}
W angularJS? 2 answers
Składnia {{::office.name}}
jest bindowaniem jednostronnym, dostępnym od wersji 1.3
Oto fajny blog wyjaśniający to.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-08 13:39:09
Wiązanie jednorazowe z Angular Docs.
Wyrażenie zaczynające się na
::
jest uważane za wyrażenie jednorazowe. Wyrażenia jednorazowe przestaną przeliczać, gdy są stabilne, co dzieje się po pierwszym przetworzeniu, jeśli wynikiem wyrażenia jest wartość nieokreślona (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 kontroler. Jeśli jednak używane jest Wiązanie dwukierunkowe, $digest
sprawdzi wszelkie zmiany w wyrażeniu w każdym cyklu, co nie jest konieczne. W takich przypadkach przed wyrażeniem należy użyć ::
. Jak stwierdzono w powyższym oświadczeniu, jest to bardziej efektywne niż dwukierunkowa składnia wiążąca dla takich przypadków.
Blog: AngularJS one-time binding syntax from @ Todd Motto
W powłoce nut, kiedy deklarujemy wartość taką jak
{{ ::foo }}
wewnątrz DOM, gdy to wartość zostanie zdefiniowana, Angular wyrenderuje ją, odpisze od obserwatorów i tym samym zmniejszy objętość wiązań wewnątrz pętli$digest
. Proste!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:24