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/24 20:31]
admin [Antipatrón]
unidades:11_rootscope:01_watch [2014/10/25 10:26] (actual)
admin [La importancia de $watch]
Línea 36: Línea 36:
   * Línea 11: Ya hemos comprobado que los valores son distintos y ahora que cuando //hacemos// lo que necesitemos hacer. En nuestro ejemplo es simplemente mostrar un ''​alert''​.   * Línea 11: Ya hemos comprobado que los valores son distintos y ahora que cuando //hacemos// lo que necesitemos hacer. En nuestro ejemplo es simplemente mostrar un ''​alert''​.
   * Líneas 14 y 15: Si llamáramos a la función ''​change''​ desde un ''​ng-click''​ o desde donde queramos , como cambia el valor de la propiedad ''​nombre''​ se ejecutará la función de //​callback//​ del ''​$watch''​.   * Líneas 14 y 15: Si llamáramos a la función ''​change''​ desde un ''​ng-click''​ o desde donde queramos , como cambia el valor de la propiedad ''​nombre''​ se ejecutará la función de //​callback//​ del ''​$watch''​.
- 
-===== La importancia de $watch ===== 
-Como vemos es muy sencillo el uso de ''​$watch''​. Pero , ¿porque es tan importante ''​$watch''?​ Hasta ahora hemos podido hacer cosas similares usando los eventos ''​onClick''​ o ''​onChange''​ ¿Que tiene de diferente? Pues la diferencia es que ya no estamos monitorizando cambios en la vista por ejemplo mediante ''​onChange''​ sino que directamente monitorizamos el propio modelo, eso hace que separemos aun mas la vista del modelo, lo que ayuda a seguir el patrón MVC.  
- 
-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 tip> <note tip>
Línea 48: Línea 43:
 } }
 </​sxh>​ </​sxh>​
 +</​note>​
 +
 +===== La importancia de $watch =====
 +Como vemos es muy sencillo el uso de ''​$watch''​. Pero , ¿porque es tan importante ''​$watch''?​ Hasta ahora hemos podido hacer cosas similares usando los eventos ''​onClick''​ o ''​onChange''​ ¿Que tiene de diferente? Pues la diferencia es que ya no estamos monitorizando cambios en la vista por ejemplo mediante ''​onChange''​ sino que directamente monitorizamos el propio modelo, eso hace que separemos aun mas la vista del modelo, lo que ayuda a seguir el patrón MVC. 
 +
 +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>​ </​note>​
 ===== Comparando el objeto ===== ===== Comparando el objeto =====
unidades/11_rootscope/01_watch.1414175463.txt.gz · Última modificación: 2014/10/24 20:31 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