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.