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?
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.
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