unidades:09_directivas:03_link
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| unidades:09_directivas:03_link [2014/08/29 17:05] – admin | unidades:09_directivas:03_link [2014/10/28 17:05] (actual) – admin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== 9.3 Funcion Link ====== | ====== 9.3 Funcion Link ====== | ||
| - | Hasta hora hemos visto como definir una la directiva de forma declarativa, | + | Hasta hora hemos visto como definir una directiva de forma declarativa, |
| La función link acepta 4 parámetros que son: | La función link acepta 4 parámetros que son: | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| * '' | * '' | ||
| Línea 49: | Línea 49: | ||
| }]); | }]); | ||
| </ | </ | ||
| + | * Línea 10: Añadimos la nueva función link a la definición de la directiva | ||
| + | * Línea 13: De la lista de atributos de la directiva obtenemos el valor del atributo " | ||
| + | * Línea 28: Al objeto '' | ||
| - | ===== Ejemplo ===== | + | <note warning> |
| + | Esta solución no es muy acertada ya que tiene el problema de que si hubiera estado enlazada a una propiedad del '' | ||
| + | Una solución mejor hubiera sido en vez de usar la función link, usar la directiva [[unidades: | ||
| + | </ | ||
| + | |||
| + | En la función link podemos realizar muchas mas cosas como puede ser: | ||
| + | * Hacer transformaciones del DOM de la directiva usando jQuery | ||
| + | * Añadir manejadores de eventos de jQuery | ||
| + | * Etc. | ||
| + | |||
| + | Es decir todas esas cosas que necesitamos hacer con jQuery ((o cualquiero troa librería de JavaScript que modifica el DOM)) porque no se pueden hacer directamente con AngularJS se hacen en la función de link.Por lo tanto en el controlador no se hacen modificaciones del DOM sino que si necesitamos hacer una modificación del DOM, creamos una directiva y dentro de ella , en la función link, hacemos todos los cambios que necesitemos. | ||
| + | |||
| + | Por lo tanto las directivas también las podemos ver como nuestra forma de encapsular jQuery para que el resto de la aplicación solo vea directivas de AngularJS. | ||
| + | |||
| + | |||
| + | <note important> | ||
| + | En AngularJS existen 3 funciones muy parecidas llamadas: | ||
| + | * compile | ||
| + | * pre-link | ||
| + | * post-link | ||
| + | |||
| + | Y es una fuente de confusión cuando usar cada una de ellas. En la unidad [[unidades: | ||
| + | |||
| + | En este caso nuestra función " | ||
| + | </ | ||
| + | ===== Ejemplo ===== | ||
| + | Este ejemplo es simplemente la nueva directiva que acabamos de ver | ||
| {{url> | {{url> | ||
| Línea 57: | Línea 86: | ||
| ===== Referencias ===== | ===== Referencias ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
unidades/09_directivas/03_link.1409324734.txt.gz · Última modificación: (editor externo)
