Table des matières

Filtres

Généralement, les filtres modifient la sortie de données.

{{ expresssion | filter }}

Built-in filters

Écrire ses propres filtres

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);
});

Autres filtres

Pourcent

myApp.filter('percentage', ['$filter', function ($filter) {
  return function (input, decimals) {
    return $filter('number')(input * 100, decimals) + '%';
  };
}]);

Source : percent-filter.js

Filtrer par sous-propriété

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">