unidades:09_directivas:04_ejemploseguro
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:04_ejemploseguro [2014/08/29 19:16] – [9.4 Ejemplo de directiva] admin | unidades:09_directivas:04_ejemploseguro [2014/09/07 09:45] (actual) – admin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== 9.4 Ejemplo de directiva ====== | ====== 9.4 Ejemplo de directiva ====== | ||
| - | En este tema retornamos el ejemplo del seguro médico para añadir una directiva. La directiva consiste en usar el widget de [[http:// | + | En este tema retornamos el ejemplo del seguro médico para añadir una directiva. La directiva consiste en usar el widget de [[http:// |
| Para que funciona el Datepicker es necesario añadir lo siguiente a la página '' | Para que funciona el Datepicker es necesario añadir lo siguiente a la página '' | ||
| + | * CSS de JQuery UI | ||
| * JavaScript de JQuery | * JavaScript de JQuery | ||
| * JavaScript de JQuery UI | * JavaScript de JQuery UI | ||
| - | * CSS de JQuery UI | ||
| <sxh html> | <sxh html> | ||
| Línea 14: | Línea 14: | ||
| - | La directiva se llamara | + | La directiva se llamara |
| Por lo tanto la directiva se usará de la siguiente manera: | Por lo tanto la directiva se usará de la siguiente manera: | ||
| Línea 28: | Línea 28: | ||
| * Línea 6: Usamos la directiva y especificamos que el datepicker use el formato de " | * Línea 6: Usamos la directiva y especificamos que el datepicker use el formato de " | ||
| + | Veamos ahora como es la definición de la directiva: | ||
| + | <sxh js; | ||
| + | app.directive(' | ||
| + | return { | ||
| + | restrict: ' | ||
| + | link: function($scope, | ||
| + | | ||
| + | element.datepicker({ | ||
| + | dateFormat: attributes.caDatepicker | ||
| + | }); | ||
| + | } | ||
| + | }; | ||
| + | }]); | ||
| + | </ | ||
| + | * Línea 3: Decimos que solo se puede usar como Atributo HTML | ||
| + | * Línea 6: En la función de link llamamos a la función de JQuery UI para que transforme el ''< | ||
| + | * Línea 7: Al objeto de configuración del método '' | ||
| + | |||
| + | Si usáramos la directiva veríamos que aparentemente funciona pero si añadiéramos el siguiente código HTML a la página: | ||
| + | |||
| + | <sxh html> | ||
| + | {{seguro.fechaCreacion}} | ||
| + | </ | ||
| + | |||
| + | comprobaríamos que al cambiar la fecha con el ratón pinchando en el datepick no se cambia el texto de la expresión '' | ||
| + | |||
| + | **¿Que ha pasado?** | ||
| + | |||
| + | Que AngularJS no se ha enterado que le han cambiado el dato dentro de ''< | ||
| + | |||
| + | La solución a esto la tenemos en el propio datepicker que provee de un evento que se activa cuando él cambia la fecha. Este evento se llama [[http:// | ||
| + | |||
| + | Para poder usar el evento [[http:// | ||
| + | |||
| + | La directiva ahora queda de la siguiente forma: | ||
| + | <sxh js; | ||
| + | app.directive(' | ||
| + | return { | ||
| + | restrict: ' | ||
| + | link: function($scope, | ||
| + | | ||
| + | element.datepicker({ | ||
| + | dateFormat: attributes.caDatepicker, | ||
| + | onSelect: function() { | ||
| + | $(this).trigger(' | ||
| + | } | ||
| + | }); | ||
| + | } | ||
| + | }; | ||
| + | }]); | ||
| + | </ | ||
| + | * Linea 8: Añadimos la función de // | ||
| + | * Línea 9: Lanzamos un evento de '' | ||
| + | |||
| + | <note important> | ||
| + | La directiva realmente está sin acabar ya que también debería de transformar el dato de tipo String del ''< | ||
| + | Eso ya lo veremos en la unidad [[unidades: | ||
| + | </ | ||
| ===== Ejemplo ===== | ===== Ejemplo ===== | ||
| {{url> | {{url> | ||
| + | |||
| + | ===== Referencias ===== | ||
| + | * [[http:// | ||
unidades/09_directivas/04_ejemploseguro.1409332608.txt.gz · Última modificación: por admin
