Maison >interface Web >js tutoriel >Comment filtrer plusieurs valeurs avec l'opération OR dans AngularJS ?

Comment filtrer plusieurs valeurs avec l'opération OR dans AngularJS ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 13:08:02653parcourir

How to Filter Multiple Values with OR Operation in AngularJS?

Filtrage de plusieurs valeurs avec l'opération OR dans AngularJS

AngularJS fournit un mécanisme de filtrage puissant qui vous permet de filtrer les données en fonction de critères spécifiques. Cependant, filtrer plusieurs valeurs à l'aide de l'opération OU simplifiée peut être un défi.

Imaginez que vous ayez un objet représentant un film avec une propriété « genres ». Pour filtrer les films du genre « Action » ou « Comédie », vous pourriez être tenté d'utiliser une expression de filtre telle que :

{genres: 'Action'} || {genres: 'Comedy'}

Cependant, cette approche ne fonctionnera pas pour le filtrage dynamique. Supposons que vous souhaitiez filtrer en fonction d'un éventail de genres stockés dans $scope.genresToFilter. Dans ce cas, vous avez besoin d'une solution plus flexible.

Création d'un filtre personnalisé

La solution préférée consiste à créer un filtre AngularJS personnalisé. Voici comment procéder :

angular.module('myFilters', []).filter('bygenre', function() {
  return function(movies, genres) {
    var out = [];
    // Implement your filtering logic here
    return out;
  }
});

Dans votre modèle HTML, utilisez votre filtre personnalisé comme suit :

<ul>
  <li ng-repeat="movie in movies | bygenre:genresToFilter">{{movie.title}}: {{movie.genre}}</li>
</ul>

Vous pouvez désormais modifier dynamiquement genresToFilter pour filtrer les films affichés en fonction sur les genres souhaités. Cette approche est beaucoup plus polyvalente que l'utilisation d'une expression de filtre statique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn