Muestra las diferencias entre dos versiones de la página.
unidades:05_filtros:03_listas [2014/08/07 11:20] admin |
unidades:05_filtros:03_listas [2014/08/30 10:21] (actual) admin |
||
---|---|---|---|
Línea 6: | Línea 6: | ||
* [[#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 como se muestran los elementos de una tabla. | + | 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 15: | 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 53: | 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 63: | 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 a 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 91: | 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 102: | 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 119: | Línea 125: | ||
</note> | </note> | ||
===== filter ===== | ===== filter ===== | ||
- | Ya que el filtro [[unidades:05_filtros:04_filter|filter]] dispone de tantas opciones, le hemos dedica el [[unidades:05_filtros:04_filter|siguiente tema]] completo a él. | + | 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. |
===== Ejemplo ===== | ===== Ejemplo ===== |