Diferencias

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

Enlace a la vista de comparación

unidades:05_filtros:03_listas [2014/08/07 09:16]
admin [limitTo]
unidades:05_filtros:03_listas [2014/08/30 10:21] (actual)
admin
Línea 5: Línea 5:
   * [[#​limitTo]]:​ Limita el número de elementos de un array   * [[#​limitTo]]:​ Limita el número de elementos de un array
   * [[#​filter]]:​ Filtra los datos del array.   * [[#​filter]]:​ Filtra los datos del array.
 +
 +Lo normal es usar estos filtros dentro de la directiva ''​ng-repeat''​ para modificar la manera en que se muestran los elementos de una tabla.
  
 ===== orderBy ===== ===== orderBy =====
Línea 13: Línea 15:
 ''​%%{{array | orderBy:'​propiedad'​ %%}}''​ ''​%%{{array | orderBy:'​propiedad'​ %%}}''​
  
-Siendo ''​propiedad''​ el nombre de la propiedad del objeto de cada elemento del array por la que queremos ordenar. Si queremos ordenar por mas de una columna pondremos un array de Strings+Siendo ''​propiedad''​ el nombre de la propiedad del objeto de cada elemento del array por la que queremos ordenar. Si queremos ordenar por más de una columna pondremos un array de Strings
  
 ''​%%{{array | orderBy:​['​propiedad1','​propiedad2',​...,'​propiedadn'​] %%}}''​ ''​%%{{array | orderBy:​['​propiedad1','​propiedad2',​...,'​propiedadn'​] %%}}''​
Línea 51: Línea 53:
 </​sxh>​ </​sxh>​
  
-Si queremos ordenar en vez de forma ascendente de forma descendente no tenemos ​mas que incluir el signo "​-"​ menos delante del nombre de la columna:+Si queremos ordenar en vez de forma ascendente de forma descendente no tenemos ​más que incluir el signo "​-"​ menos delante del nombre de la columna:
  
 <sxh html> <sxh html>
Línea 61: Línea 63:
  
 <note tip> <note tip>
-AngularJS tambien permite crear tu propia función de ordenación pero no vamos ver nada sobre ella ya que la encuentro compleja de usar lo que la hace poco útil.+AngularJS tambien permite crear tu propia función de ordenación pero no vamos ver nada sobre ella ya que la encuentro compleja de usar lo que la hace poco útil.
 </​note>​ </​note>​
  
 +
 +<note warning>
 +Un problema de este filtro es que al ordenar no tiene en cuenta los acentos o cosas similares, por lo que por ejemplo las letras con acentos irán después de todas las letras //​normales//​.
 +
 +En el ejemplo que hay a continuación fíjate cómo la última provincia que se muestra es "​Badajoz"​ y no aparece "​Ávila" ​
 +</​note>​
 ===== limitTo ===== ===== limitTo =====
 Este filtro permite limitar el nº de elementos que se muestran del array. Este filtro permite limitar el nº de elementos que se muestran del array.
Línea 89: Línea 97:
 </​sxh>​ </​sxh>​
  
-podemos mostrar ​solo las 2 primeras provincias con:+podemos mostrar ​sólo las 2 primeras provincias con:
  
 <sxh html> <sxh html>
Línea 100: Línea 108:
 Si el valor es negativo lo que muestra es los '​n'​ últimos elementos del array en vez de los '​n'​ primeros. Si el valor es negativo lo que muestra es los '​n'​ últimos elementos del array en vez de los '​n'​ primeros.
  
-Podemos mostrar ​solo las últimas ​2 provincias con:+Podemos mostrar ​sólo las 2 últimas ​provincias con:
 <sxh html> <sxh html>
       <tr ng-repeat="​provincia in provincias | limitTo:​-2">​       <tr ng-repeat="​provincia in provincias | limitTo:​-2">​
Línea 117: Línea 125:
 </​note>​ </​note>​
 ===== filter ===== ===== filter =====
-Filtra el array para que el array resultante solo tenga ciertos datos del array original +Ya que el filtro [[unidades:05_filtros:​04_filter|filter]] dispone de tantas opciones, le hemos dedicado el [[unidades:05_filtros:04_filter|siguiente tema]] completo a él.
- +
-**formato:​** +
- +
-''​%%{{unidades:%% valor | filter:expresion %%}}%%''​ +
- +
-Siendo ''​expresion''​ una expresión que filtrará los datos del array. +
- +
-Veamos ahora un ejemplo: +
- +
-Supongamos los siguientes datos +
-<sxh js> +
-    $scope.valores = [+
-        idProvincia1, +
-        nombre"​Valencia"​ +
-    }, { +
-        idProvincia:​ 2, +
-        nombre:​ "​Castellón"​ +
-    }, { +
-        idProvincia:​ 3, +
-        nombre:​ "​Alicante"​      +
-    }]+
-</​sxh>​ +
- +
-podemos mostrar solo aquellas provincias cuyo nombre contenga una "​t"​ mediante la siguiente expresión:​ +
- +
-<sxh js> +
-{{unidades: valores | filter:{ nombre:'​t'​ } }} +
-</​sxh>​+
  
 ===== Ejemplo ===== ===== Ejemplo =====
Línea 153: Línea 133:
 ===== Referencias ===== ===== Referencias =====
   * [[https://​docs.angularjs.org/​api/​ng/​filter/​orderBy|/​ API Reference / ng / filter / orderBy]]   * [[https://​docs.angularjs.org/​api/​ng/​filter/​orderBy|/​ API Reference / ng / filter / orderBy]]
-  * [[https://​docs.angularjs.org/​api/​ng/​filter/​filter|/ API Reference / ng / filter / filter]]+  * [[https://​docs.angularjs.org/​api/​ng/​filter/​limiTo|/ API Reference / ng / filter / limiTo]]
unidades/05_filtros/03_listas.1407395810.txt.gz · Última modificación: 2014/08/07 09:16 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