Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

unidades:11_rootscope:01_watch [2014/10/25 09:47]
admin
unidades:11_rootscope:01_watch [2014/10/25 10:26] (actual)
admin [La importancia de $watch]
Línea 50: Línea 50:
 Si lo que realmente queremos es saber cuando ha cambiado el valor de una propiedad de **modelo**, ¿Porque usar el evento ''​onChange''​ para comprobar sise ha modificado? ¿Que ocurre si modificamos la vista? Hay que recordar poner siempre ese ''​onChange''​ y por otro lado y si cambiamos directamente desde JavaScript el valor haciendo una asignación a la propiedad. Con ''​onChange''​ no lo podríamos detectar. Es decir que ''​$watch''​ es mucho mas útil que los eventos del DOM ya que nos permite detectar siempre el cambio independientemente desde donde se haya producido. Si lo que realmente queremos es saber cuando ha cambiado el valor de una propiedad de **modelo**, ¿Porque usar el evento ''​onChange''​ para comprobar sise ha modificado? ¿Que ocurre si modificamos la vista? Hay que recordar poner siempre ese ''​onChange''​ y por otro lado y si cambiamos directamente desde JavaScript el valor haciendo una asignación a la propiedad. Con ''​onChange''​ no lo podríamos detectar. Es decir que ''​$watch''​ es mucho mas útil que los eventos del DOM ya que nos permite detectar siempre el cambio independientemente desde donde se haya producido.
  
 +<note important>​ 
 +Siempre que puedas utiliza ''​$watch''​ en vez de eventos de los tag HTML como ''​onChange''​ , etc, ya que así estará mas separado el modelo de la vista. 
 +</​note>​
 ===== Comparando el objeto ===== ===== Comparando el objeto =====
 ¿Como sabe AngularJS que ha cambiado el valor de una propiedad? La respuesta puede parecer sencilla, con un simple "​!=="​. Eso funciona muy bien con datos escalares como números o texto pero no funciona tan bien con objetos. Si comparamos 2 objetos distintos pero con los mismos valores,​¿deberían ser iguales o distintos? Angular al usar "​!=="​ serian distintos. ¿Como sabe AngularJS que ha cambiado el valor de una propiedad? La respuesta puede parecer sencilla, con un simple "​!=="​. Eso funciona muy bien con datos escalares como números o texto pero no funciona tan bien con objetos. Si comparamos 2 objetos distintos pero con los mismos valores,​¿deberían ser iguales o distintos? Angular al usar "​!=="​ serian distintos.
unidades/11_rootscope/01_watch.txt · Última modificación: 2014/10/25 10:26 por admin
Ir hasta arriba
CC Attribution-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0