Généralement, les filtres modifient la sortie de données.
{{ expresssion | filter }}
{{ 3.1416937635 | number:2}}
, retourne 3.14
.module.filter('name', function() { return function(input /*, filter parameters*/) { // modifier le input return modifiedInputAsOutput; } });
Quand on crée un filtre, on peut faire appel à ce filtre avec $filter
. Par exemple:
var filteredData = $filter('nomdufiltre')(data);
Mais on peut aussi utiliser le keyword Filter
directement en injectant le filtre:
angular.module('myApp').controller('myCtrl', function(nomdufiltreFilter) { var filteredData = nomdufiltreFilter(data); });
myApp.filter('percentage', ['$filter', function ($filter) { return function (input, decimals) { return $filter('number')(input * 100, decimals) + '%'; }; }]);
Source : percent-filter.js
Ayant par exemple des données tel que :
var data = [ { nom: { propriete:'propriete', type:'untype' } } ];
<li ng-repeat="item in data | filter: {nom:{type:'untype'}}:true">