Cuándo usar watch watch o ng-change en Angularjs


¿Cuándo debo usar las funciones angulares $watch y cuándo usar la directiva angularjs ng-change? Para mí, ambos pueden hacer lo mismo.

¿Hay diferencias o patrones de uso entre ellos?

Author: levi, 2015-02-04

1 answers

No son lo mismo, claramente. Uno se utiliza únicamente en el controlador; el otro es una directiva sobre un elemento de entrada.

Pero incluso en su aplicación difieren.

Cuando se utiliza $watch la expresión vigilada se evaluará en cada ciclo de resumen, y si hay un cambio, se invoca el controlador.

Con ng-change, el controlador se invoca explícitamente en respuesta a un evento.

Con $watch, el cambio puede venir de cualquier lugar: acción del usuario, función del controlador, service-all activará el controlador.

Con ng-change, el cambio está restringido a una acción de usuario en un elemento de entrada particular.

También vale la pena señalar que ng-change funciona solo en combinación con ng-model - en otras palabras, la expresión ng-change se evalúa solo cuando ngModel.$viewValue (consulte ngModelController documentación para obtener más información) se cambia, lo que normalmente ocurre en respuesta a un evento iniciado por el usuario.

 91
Author: New Dev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-02 13:48:18