Diferencias

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

Enlace a la vista de comparación

unidades:05_filtros:02_escalares [2014/08/06 13:41]
admin [currency]
unidades:05_filtros:02_escalares [2014/08/30 10:15] (actual)
admin
Línea 23: Línea 23:
 </​sxh>​ </​sxh>​
  
-La variable ''​importe'' ​solo se mostrará con 2 decimales.+La variable ''​importe'' ​sólo se mostrará con 2 decimales.
  
 <note tip> <note tip>
-Si no se indica el número de decimales por defecto se muestran 3 decimales.+Si no se indica el número de decimalespor defecto se muestran 3 decimales.
 </​note>​ </​note>​
 ===== date ===== ===== date =====
Línea 52: Línea 52:
 Al mostrar la variable ''​fecha''​ se verá primero el año, luego los meses y finalmente los días. Al mostrar la variable ''​fecha''​ se verá primero el año, luego los meses y finalmente los días.
  
-AngularJS soporta que en vez de especificar directamente el formato de la fecha usar los siguientes formatos predefinidos :+AngularJS soporta que en vez de especificar directamente el formato de la fecha se usen los siguientes formatos predefinidos :
   * ''​medium''​   * ''​medium''​
   * ''​short''​   * ''​short''​
Línea 62: Línea 62:
   * ''​shortTime''​   * ''​shortTime''​
  
-El significado exacto de estos formatos depende del idioma que se haya elegido, aunque se pueden intuir por el nombre que tienen. Así que en la mayoría de las ocasiones se deberían ​de usar estos formatos predefinidos.+El significado exacto de estos formatos depende del idioma que se haya elegido, aunque se pueden intuir por el nombre que tienen. Así que en la mayoría de las ocasiones se deberían usar estos formatos predefinidos.
  
 <sxh html> <sxh html>
Línea 69: Línea 69:
  
 <note tip> <note tip>
-Fijaté ​en que al poner opciones del filtro que sean un String hay que ponerlo entre comillas.+Fíjate ​en que al poner opciones del filtro que sean un String hay que ponerlo entre comillas.
 </​note>​ </​note>​
 ===== currency ===== ===== currency =====
-Muestra ​un número con el símbolo de la moneda local y con el número de decimales correctos.+Este filtro muestra ​un número con el símbolo de la moneda local y con el número de decimales correctos.
  
 **formato:​** **formato:​**
Línea 83: Línea 83:
 </​sxh>​ </​sxh>​
  
-La variable ''​importe'' ​por defecto ​se mostrará con el símbolo del $ y con 2 decimales pero si estamos en el idioma de "​es-es"​ se mostraría ​con el símbolo del "​€"​ y también 2 decimales.+La variable ''​importe''​ se mostrará ​por defecto ​con el símbolo del $ y con 2 decimales pero si estamos en el idioma de "​es-es"​ se mostrará ​con el símbolo del "​€"​ y también 2 decimales. 
 + 
 +<note tip> 
 +Este filtro también soporta pasarle directamente el símbolo de la moneda.Aunque el nº de decimales, separador, etc. seguirán siendo el del idioma definido. 
 + 
 +<sxh html> 
 +<​div>​{{ 12.45 | currency:'​EUR'​ }}</​div>​ 
 +</​sxh>​ 
 + 
 +Mostrará "12,45 EUR" en vez de "12,45 €"​. 
 +</​note>​
 ===== lowercase ===== ===== lowercase =====
 +Este filtro transformará un String a minúsculas.
 +
 +**formato:​**
 +
 +''​%%{{ valor | lowercase ​ %%}}''​
 +
 +Veamos ahora un ejemplo:
 +<sxh html>
 +<​div>​{{ nombre | lowercase }}</​div>​
 +</​sxh>​
 +
 +La variable ''​nombre''​ se mostrará en minúsculas.
  
 ===== uppercase ===== ===== uppercase =====
 +Este filtro transformará un String a mayúsculas.
  
-===== json =====+**formato:​**
  
 +''​%%{{ valor | uppercase ​ %%}}''​
  
 +Veamos ahora un ejemplo:
 +<sxh html>
 +<​div>​{{ nombre | uppercase }}</​div>​
 +</​sxh>​
 +
 +La variable ''​nombre''​ se mostrará en mayúsculas.
 +
 +
 +===== Internacionalización =====
 +Como hemos visto, los filtros ''​number''​ , ''​date''​ y ''​currency''​ varían su formato en función del idioma y país. ¿Cómo podemos indicar al AngularJS el idioma y el país que queremos usar? Simplemente debemos cargar el fichero JavaScript con el idioma y pais correspondiente.
 +
 +Cuando nos descargamos AngularJS, ​ en la carpeta ''​i18n''​ tenemos todos los ficheros para cada idioma/​pais. Así si por ejemplo queremos usar el idioma español en España sólo hay que cargar el fichero:
 +
 +i18n/​angular-locale_es-es.js
 +
 +Por lo tanto en una aplicación en España con el idioma español sólo hay que incluir la siguiente línea después de cargar AngularJS:
 +
 +<sxh html>
 +<script src="//​code.angularjs.org/​1.2.19/​i18n/​angular-locale_es-es.js"></​script>​
 +</​sxh>​
 +
 +Lo que no soporta (por ahora) AngularJS es más tipos de internacionalización como puedan ser los mensajes, sin embargo hay varios proyectos en github con filtros dedicados a ello.
 +
 +<note tip>
 +Recuerda cagar el Script con el idioma adecuado tras cargar AngularJS:
 +
 +<sxh html>
 +<script src="//​ajax.googleapis.com/​ajax/​libs/​angularjs/​1.2.19/​angular.min.js"></​script>​
 +<script src="//​code.angularjs.org/​1.2.19/​i18n/​angular-locale_es-es.js"></​script>​
 +</​sxh>​
 +</​note>​
 +
 +<​note>​
 +No he visto cómo se puede cargar los ficheros de internacionalización de AngularJS desde el CDN de Google , es decir desde ''​ajax.googleapis.com/​ajax/​libs/​angularjs'',​ así que los estoy cargando desde la página de descarga, es decir desde ''​code.angularjs.org''​.
 +</​note>​
 +===== Ejemplo =====
 +En el siguiente ejemplo se aplican los distintos filtros , mostrando todas las variantes de formatos predefinidos de fecha . Para los ejemplos se ha usado el idioma español en España.
 +
 +
 +<sxh html;​title:​index.html>​
 +<​!DOCTYPE html>
 +<html ng-app="​app">​
 + 
 +  <​head>​
 +    <script src="//​ajax.googleapis.com/​ajax/​libs/​angularjs/​1.2.19/​angular.min.js"></​script>​
 +    <script src="//​code.angularjs.org/​1.2.19/​i18n/​angular-locale_es-es.js"></​script>​
 +    <script src="​script.js"></​script>​
 +  </​head>​
 + 
 +  <body ng-controller="​PruebaController">​
 +    ​
 +    <​div>​number:​4 = {{ numeroDecimal | number:4 }}</​div>​
 +    <​div>​number = {{ numeroDecimal | number }}</​div>​
 +    ​
 +    <br>
 +    <br>
 +    ​
 +    <​div>​date:"​yyyy/​MM/​dd"​ = {{ fecha | date:"​yyyy/​MM/​dd"​ }}</​div>​
 +    <​div>​date:"​medium"​ = {{ fecha | date:"​medium"​ }}</​div>​
 +    <​div>​date:"​short"​ = {{ fecha | date:"​short"​ }}</​div>​
 +    <​div>​date:"​fullDate"​ = {{ fecha | date:"​fullDate"​ }}</​div>​
 +    <​div>​date:"​longDate"​ = {{ fecha | date:"​longDate"​ }}</​div>​
 +    <​div>​date:"​mediumDate"​ = {{ fecha | date:"​mediumDate"​ }}</​div>​
 +    <​div>​date:"​shortDate"​ = {{ fecha | date:"​shortDate"​ }}</​div>​
 +    <​div>​date:"​mediumTime"​ = {{ fecha | date:"​mediumTime"​ }}</​div>​
 +    <​div>​date:"​shortTime"​ = {{ fecha | date:"​shortTime"​ }}</​div>​
 +    <​div>​date = {{ fecha | date }}</​div>​
 +    ​
 +    <br>
 +    <br>
 +    ​
 +    <​div>​currency = {{ numeroDecimal | currency }}</​div>​
 +    ​
 +    <br>
 +    <br>
 +    ​
 +    <​div>​lowercase = {{ texto | lowercase }}</​div>​
 +    ​
 +    <br>
 +    <br>
 +    ​
 +    <​div>​uppercase = {{ texto | uppercase }}</​div>​
 +
 +
 +  </​body>​
 + 
 +</​html>​
 +</​sxh>​
 +
 +<sxh js;​title:​script.js>​
 +var app=angular.module("​app",​[]);​
 +  ​
 +app.controller("​PruebaController",​["​$scope",​function($scope) {
 +
 +  $scope.fecha=new Date();
 +  $scope.numeroDecimal=321.98324;​
 +  $scope.texto="​Hola Mundo";​
 +  $scope.objeto='​{nombre:"​Juan",​apellido:"​Perez",​direccion:​ {calle:"​Avenida Blasco Ibañez",​numero:​34}}';​
 +
 +}]);
 +</​sxh>​
  
 +{{url>​http://​embed.plnkr.co/​uXmtY3}}
 ===== Referencias ===== ===== Referencias =====
   * [[https://​docs.angularjs.org/​api/​ng/​filter/​number|/​ API Reference / ng / filter / number]]   * [[https://​docs.angularjs.org/​api/​ng/​filter/​number|/​ API Reference / ng / filter / number]]
Línea 98: Línea 224:
   * [[https://​docs.angularjs.org/​api/​ng/​filter/​lowercase|/​ API Reference / ng / filter / lowercase]]   * [[https://​docs.angularjs.org/​api/​ng/​filter/​lowercase|/​ API Reference / ng / filter / lowercase]]
   * [[https://​docs.angularjs.org/​api/​ng/​filter/​uppercase|/​ API Reference / ng / filter / uppercase]]   * [[https://​docs.angularjs.org/​api/​ng/​filter/​uppercase|/​ API Reference / ng / filter / uppercase]]
 +  * [[https://​docs.angularjs.org/​guide/​i18n|/​ Developer Guide / i18n and l10n]]
unidades/05_filtros/02_escalares.1407325296.txt.gz · Última modificación: 2014/08/06 13:41 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