Cosa significano due due punti all'interno di un'espressione angolare {{::}}?


Risposte:


85

La {{::office.name}}sintassi è l'associazione One-Time di Angular, disponibile dalla versione 1.3.
Ecco un bel blog che lo spiega.


99

Rilegatura una tantum da Angular Docs.

Un'espressione che inizia con ::è considerata un'espressione occasionale. Le espressioni occasionali interromperanno il ricalcolo una volta che sono stabili, cosa che accade dopo il primo digest se il risultato dell'espressione è un valore non indefinito (vedere l'algoritmo di stabilizzazione del valore di seguito).

In molte situazioni, i valori devono essere mostrati solo nella vista e non verranno mai aggiornati dalla vista o dal controller. Tuttavia, se viene utilizzata l'associazione a due vie, $digestverificherà eventuali modifiche nell'espressione in ogni ciclo, il che non è necessario. In questi casi, ::dovrebbe essere usato prima dell'espressione. Come affermato nella dichiarazione precedente, questa è più efficiente della sintassi di associazione a due vie per questi casi.


Blog: sintassi di associazione una tantum di AngularJS da @Todd Motto

In poche parole, quando dichiariamo un valore come {{ ::foo }}all'interno del DOM, una volta definito questo valore, Angular lo renderà, svincolerà dagli watcher e quindi ridurrà il volume dei binding all'interno del $digestloop. Semplice!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.