En este artículo, discutiremos los filtros en AngularJS. Se pueden agregar filtros en AngularJS para dar formato a los datos para que se muestren en la interfaz de usuario sin cambiar el formato original. Los filtros se pueden agregar a una expresión o directivas usando la tubería | símbolo.
{{expression | filterName:parameter }}
Filtros AngularJS: AngularJS proporciona filtros para transformar datos de diferentes tipos de datos. La siguiente tabla muestra los filtros significativos:
Nombre del filtro | Descripción |
---|---|
divisa | Se utiliza para convertir un número en un formato de moneda. |
fecha | Se utiliza para convertir una fecha en un formato específico. |
filtrar | Se utiliza para filtrar la array y los elementos del objeto y devolver los elementos filtrados. |
json | Para convertir un objeto JavaScript en JSON. |
limitado a | Se utiliza para devolver una array o una string que contiene un número específico de elementos. |
minúsculas | Se utiliza para convertir una string en letras minúsculas. |
mayúscula | Se utiliza para convertir una string en letras mayúsculas. |
número | Se utiliza para convertir un número en una string o texto. |
ordenar por | Ordena una array en función de expresiones de predicado especificadas. |
1. Filtro de moneda: este filtro se utiliza para convertir un número a un formato de moneda. Cuando no se implementa ningún formato de moneda, el filtro de moneda utiliza el formato de moneda local.
Sintaxis:
{{ currency_expression | currency : symbol : fractionSize}}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="app1" ng-controller="costCtrl"> <h2>Price: {{ price | currency }}</h2> </div> <script> var app = angular.module("app1", []); app.controller("costCtrl", function ($scope) { $scope.price = 100; }); </script> <p> This currency filter formats a number to a currency format. </p> </body> </html>
Producción:
2. Filtro de fecha: este filtro se utiliza para convertir una fecha en un formato específico. Si no se especifica el formato de fecha, se utiliza el formato predeterminado de fecha ‘MMM d, aaaa’.
Sintaxis:
{{ date | date : format : timezone }}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"> </script> </head> <body ng-app> <h1>AngularJS Date Filter</h1> <div ng-init="person.DOB = 323234234898"> Default date: {{person.DOB| date}} <br /> Medium date: {{person.DOB| date:'medium'}} <br /> Full date: {{person.DOB | date:'fullDate'}} <br /> Year: {{person.DOB | date:'yyyy'}} <br /> </div> </body> </html>
Producción:
3. filtro Filtro: este filtro se utiliza para filtrar la array y los elementos del objeto y devolver una nueva array.
Sintaxis:
{{ expression | filter : filter_criteria }}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="app1" ng-controller="namesCtrl"> <ul> <li ng-repeat="x in names | filter : 'i'">{{ x }}</li> </ul> </div> <script> angular.module("app1", []).controller( "namesCtrl", function ($scope) { $scope.names = [ "Dhoni", "Virat", "Sachin", "Rohit", "Suresh", "Sehwag", "Zadeja", "Ashwin", "Harbhajan", ]; }); </script> <p> This example displays only the names containing the letter "i". </p> </body> </html>
Producción:
4. Filtro json: este filtro se utiliza para convertir un objeto JavaScript en JSON.
Sintaxis:
{{ object | json : spacing }}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="vegetable" ng-controller="vegetableCtrl"> <h1>Vegetable:</h1> <pre>{{vegetable | json : 10}}</pre> </div> <script> var app = angular.module("vegetable", []); app.controller("vegetableCtrl", function ($scope) { $scope.vegetable = [ "Beetroot", "Carrot", "Potato", "Asparagus", "Eggplant", ]; }); </script> </body> </html>
Producción:
5. LimitTo Filter: este filtro se utiliza para devolver una array o una string que contiene un número detallado de elementos. Se utiliza para strings y números. Devuelve una string que contiene solo el número especificado de dígitos y caracteres.
Sintaxis:
{{ object | limitTo : limit : begin }}
Parámetros:
limit: especifica la longitud de la array o las strings devueltas.
Inicio: especifica el índice con el que comienza la limitación. Por defecto, su valor es cero.
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"> </script> </head> <body> <div ng-app="app1" ng-controller="sizeCtrl"> <p> Displays only the first 3 cars because limit is 3 (positive). </p> <ul> <li ng-repeat="x in cars | limitTo : 3">{{x}}</li> </ul> <p> Displays only the last 3 cars because limit is -3 (negative). </p> <ul> <li ng-repeat="x in cars | limitTo : -3">{{x}}</li> </ul> </div> <script> var app = angular.module("app1", []); app.controller("sizeCtrl", function ($scope) { $scope.cars = ["Alto", "Breeza", "ciaz", "Maruti", "Fortuner", "Verna"]; }); </script> </body> </html>
Producción:
6. minúsculas: este filtro se utiliza para convertir una string en letras minúsculas.
Sintaxis:
{{expression|lowercase}}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <h2>AngularJS | lowercase</h2> <div ng-app="app1" ng-controller="lowCtrl"> <strong>Input:</strong> <input type="text" ng-model="string" /> <strong>Output:</strong> {{string|lowercase}} </div> <script> var app = angular.module("app1", []); app.controller("lowCtrl", function ($scope) { $scope.string = ""; }); </script> </body> </html>
Producción:
7. mayúsculas: este filtro se utiliza para convertir una string en una letra mayúscula.
Sintaxis:
{{ string | uppercase}}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <h2>AngularJS | uppercase</h2> <div ng-app="app1" ng-controller="upCtrl"> <strong>Input:</strong> <input type="text" ng-model="string" /> <strong>Output:</strong> {{string|uppercase}} </div> <script> var app = angular.module("app1", []); app.controller("upCtrl", function ($scope) { $scope.string = ""; }); </script> </body> </html>
Producción:
8. Filtro de número: este filtro se utiliza para convertir un número en una string o texto.
Sintaxis:
{{ string| number : fractionSize}}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"> </script> </head> <body> <div ng-app="app1" ng-controller="nCtrl"> <h1>{{value | number : 4}} kg</h1> </div> <script> var app = angular.module("app1", []); app.controller("nCtrl", function ($scope) { $scope.value = 34355; }); </script> <p>The value is written with three decimals.</p> </body> </html>
Producción:
9. filtro orderBy: este filtro ordena una array según las expresiones de predicado especificadas.
Sintaxis:
{{ orderBy_expression | orderBy : expression : reverse }}
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"> </script> </head> <body ng-app="app1"> <h1>AngularJS | orderBy</h1> <div ng-controller="myController"> <select ng-model="SortOrder"> <option value="+name">Name (asc)</option> <option value="-name">Name (dec)</option> <option value="+phone">Phone (asc)</option> <option value="-phone">Phone (dec)</option> </select> <ul ng-repeat="person in persons | orderBy:SortOrder"> <li>{{person.name}} - {{person.phone}}</li> </ul> </div> <script> var myApp = angular.module("app1", []); myApp.controller("myController", function ($scope) { $scope.persons = [ { name: "John", phone: "008-452-8276" }, { name: "Mahira", phone: "879-303-3345" }, { name: "Minakshi", phone: "545-474-4351" }, { name: "Billa", phone: "545-788-5678" }, { name: "vanya", phone: "463-494-8705" }, { name: "Rashi", phone: "315-315-5698" }, ]; $scope.SortOrder = "+name"; }); </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por arelemegha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA