2016-02-13 15 views
11

Co robi podwójny dwukropek (::) w kanciastym JS, gdy zostanie wstawiony przed zmienną wyrażenia. Na przykład {{:: firstName}}Co podwójna dwukropka przed zmienną wyrażenia robi w kanciastym js?

Jaka jest różnica między {{firstName}} a {{:: firstName}} w kątowym js?

+1

Google "jeden czas wiązania" – jonrsharpe

+0

Możliwy duplikat [Co robi :: oznacza w angularjs] (http://stackoverflow.com/questions/34201325/what-does-mean-in-angularjs) – 4castle

Odpowiedz

12

albumu: https://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135

To brzmi:

jednorazowe składni wiązania {{ ::value }}

angularjs spadła naprawdę ciekawą funkcję niedawno w wersji beta 1.3.0: zdolność raz wyrenderować dane i pozwolić mu przetrwać bez wpływu przyszłych aktualizacji modelu. To fantastyczna wiadomość dla deweloperów bardzo zainteresowanych wydajnością! Przed tej aktualizacji, my zazwyczaj czynią wartość w DOM tak:

<h1>{{ title }}</h1> 

z nową składnią wiążącego jednorazowej, wprowadzamy podwójnego dwukropka przed naszą wartość:

<h1>{{ ::title }}</h1> 

Kątowy przetwarza DOM jak zwykle, a po uzyskaniu wartości rozwiązany usuwa konkretną właściwość z wewnętrznej listy $$watchers. Co to oznacza dla wydajności? Dużo! Jest to fantastyczny dodatek, który pomaga nam precyzyjnie dostosowywać nasze aplikacje.

Wiadomo, że Angular staje się wolniejszy, a około 2000 wiązań z powodu do procesu za brudne sprawdzanie. Im mniej możemy dodać do tego limitu , tym lepiej, ponieważ powiązania mogą się sumować bez nas naprawdę zauważając to!

Używanie pojedynczej składni wiązania jest łatwe i co najważniejsze szybkie. Składnia jest klarowna i zwięzła, a także realna korzyść z obniżenia nakładu pracy na $$watcher. Im mniej pracy ma Angular, tym więcej odpowiedzi na nasze aplikacje stanie się bardziej responsywne.

+0

dzięki, Pomogło :-) –