Dans AngularJS, le filtrage des données est une tâche essentielle pour afficher un contenu personnalisé aux utilisateurs. Cependant, lorsque vous devez filtrer des données en fonction de plusieurs critères, exprimer une opération OU peut s'avérer difficile.
Cette tâche vous oblige à filtrer un objet en fonction de plusieurs valeurs. Considérons un film objet avec une propriété de genre et vous souhaitez afficher des films appartenant aux catégories « Action » ou « Comédie ».
Lors de l'utilisation du filtre :({genres : 'Action'} || { genres : 'Comédie'}) est possible, cela devient fastidieux lorsque l'on souhaite filtrer dynamiquement en fonction d'une variable. Voici comment aborder ce problème :
Une meilleure solution consiste à créer une fonction de filtre personnalisée. Les filtres personnalisés offrent une approche plus organisée et maintenable. Vous pouvez définir un filtre nommé par genre dans votre application AngularJS comme suit :
<code class="javascript">angular.module('myFilters', []).filter('bygenre', function() { return function(movies, genres) { var out = []; // Implement filter logic here, adding matches to the out variable. return out; }; });</code>
Une fois que vous avez défini le filtre personnalisé, vous pouvez l'utiliser dans votre modèle comme suit :
<code class="html"><h1 ng-init="movies = [ {title:'Man on the Moon', genre:'action'}, {title:'Meet the Robinsons', genre:'family'}, {title:'Sphere', genre:'action'} ];">Movies</h1> <input type="checkbox" ng-model="genrefilters.action" />Action <br> <input type="checkbox" ng-model="genrefilters.family" />Family <br> {{genrefilters.action}}::{{genrefilters.family}} <ul> <li ng-repeat="movie in movies | bygenre:genrefilters">{{movie.title}}: {{movie.genre}}</li> </ul></code>
Dans le modèle, vous pouvez cocher la case genrefilters pour modifier dynamiquement les critères de filtre. Le filtre personnalisé affichera automatiquement les films qui correspondent à l'un des genres sélectionnés.
Pour plus d'informations sur la création de filtres AngularJS personnalisés, reportez-vous à la documentation officielle ici : [Création de filtres angulaires] (https://docs.angularjs.org/guide/filter).
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!