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:39] – [9.4 Ejemplo de directiva] admin | unidades:09_directivas:04_ejemploseguro [2014/09/07 09:45] (actual) – admin | ||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| 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 31: | Línea 31: | ||
| <sxh js; | <sxh js; | ||
| app.directive(' | app.directive(' | ||
| - | | + | |
| - | restrict: ' | + | restrict: ' |
| - | link: function($scope, | + | 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 '' | ||
| - | element.datepicker({ | + | Si usáramos la directiva veríamos que aparentemente funciona pero si añadiéramos el siguiente código HTML a la página: |
| - | dateFormat: attributes.caDatepicker | + | |
| - | }); | + | <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.1409333984.txt.gz · Última modificación: (editor externo)
