Outils pour utilisateurs

Outils du site


web:javascript:angularjs:filtres

Filtres

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

  • Formatting
  • Tri
  • Filtrer

{{ expresssion | filter }}

Built-in filters

  • uppercase
  • lowercase
  • number → {{ 3.1416937635 | number:2}}, retourne 3.14.
  • currency
  • date
  • json
  • orderBy
  • limitTo
  • filter

É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">
web/javascript/angularjs/filtres.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1