javascript - create - directivas angularjs
Encuadernación angular perezosa de una sola vez para expresiones (1)
AngularJS tiene una nueva característica desde la versión 1.3.0-beta.10: la "unión lenta de una sola vez" .
Las expresiones simples pueden tener el prefijo :: , que indica a angular que deje de mirar después de que la expresión se haya evaluado por primera vez. El ejemplo común es algo así como:
<div>{{::user.name}}</div>
¿Hay una sintaxis similar para expresiones como las siguientes?
<div ng-if="user.isSomething && user.isSomethingElse"></div>
<div ng-class="{classNameFoo: user.isSomething}"></div>
Sí. Puede prefijar todas las expresiones con :: , incluso las de ngIf o ngClass :
<div ng-if="::(user.isSomething && user.isSomethingElse)"></div>
<div ng-class="::{classNameFoo: user.isSomething}"></div>
En realidad, el código simplemente verifica que los dos primeros caracteres de la expresión sean : para activar el enlace de un solo uso (y luego los elimina, por lo tanto, ni siquiera se necesitan los paréntesis). Todo lo demás se mantiene igual.