AngularJS Filtros


Los filtros se pueden añadir a expresiones y directivas mediante un carácter de tubería (|).


Filtros AngularJS

Los filtros AngularJS se pueden utilizar para transformar datos:

Filtro Descripción
currency Formatea un número como moneda.
filter Selecciona un subconjunto de un array.
lowercase Formatea una cadena a minúsculas.
orderBy Ordena un array según alguna expresión.
uppercase Formatea una cadena a mayúsculas.

Añadir filtros en expresiones

Los filtros se pueden añadir a las expresiones mediante un carácter de tubería (|) y un filtro.

(En los dos ejemplos siguientes, usaremos el controlador person mencionado en capítulos anteriores)

uppercaseEl filtro formatea la cadena a mayúsculas:

Ejemplo de AngularJS

<div ng-app="myApp" ng-controller="personCtrl">

<p>El nombre es{{ lastName | uppercase }}</p>

</div>

Pruébalo »

lowercaseEl filtro formatea la cadena a minúsculas:

Ejemplo de AngularJS

<div ng-app="myApp" ng-controller="personCtrl">

<p>El nombre es{{ lastName | lowercase }}</p>

</div>

Pruébalo »

Filtro currency

currencyEl filtro formatea un número como moneda:

Ejemplo de AngularJS

<div ng-app="myApp" ng-controller="costCtrl">

<input type="number" ng-model="quantity">
<input type="number" ng-model="price">

<p>Precio total ={{ (quantity * price) | currency }}</p>

</div>

Pruébalo »

Añadir filtros a directivas

Los filtros se pueden añadir a las directivas mediante un carácter de tubería (|) y un filtro.

orderByEl filtro ordena un array según una expresión:

Ejemplo de AngularJS

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names | orderBy:'country'">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

Pruébalo »

Filtrar entrada

El filtro de entrada se puede añadir a las directivas mediante un carácter de tubería (|) y un filtro, seguido de dos puntos y un nombre de modelo.

filterEl filtro selecciona un subconjunto del array:

Ejemplo de AngularJS

<div ng-app="myApp" ng-controller="namesCtrl">

<p><input type="text" ng-model="test"></p>

<ul>
  <li ng-repeat="x in names | filter:test | orderBy:'country'">
    {{ (x.name | uppercase) + ', ' + x.country }}
  </li>
</ul>

</div>

Pruébalo »

Filtro personalizado

El siguiente ejemplo define un filtro personalizadoreverseque invierte una cadena:

Ejemplo de AngularJS

var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.msg = "Ejemplo"; }); app.filter('reverse', function() { //Se pueden inyectar dependencias return function(text) { return text.split("").reverse().join(""); } });

Pruébalo »
Otras extensiones