AngularJS は、特定の条件に基づいてデータをフィルタリングできる強力なフィルタリング メカニズムを提供します。ただし、簡略化された OR 演算を使用して複数の値をフィルタリングするのは難しい場合があります。
「ジャンル」プロパティを持つ映画を表すオブジェクトがあると想像してください。 「アクション」または「コメディ」ジャンルの映画をフィルタリングするには、
{genres: 'Action'} || {genres: 'Comedy'}
のようなフィルタ式を使用したくなるかもしれません。ただし、このアプローチは動的フィルタリングには機能しません。 $scope.genresToFilter に保存されているジャンルの配列に基づいてフィルタリングしたいとします。その場合、より柔軟なソリューションが必要です。
推奨されるソリューションは、カスタム AngularJS フィルターを作成することです。その方法は次のとおりです。
angular.module('myFilters', []).filter('bygenre', function() { return function(movies, genres) { var out = []; // Implement your filtering logic here return out; } });
HTML テンプレートで、次のようにカスタム フィルターを使用します。
<ul> <li ng-repeat="movie in movies | bygenre:genresToFilter">{{movie.title}}: {{movie.genre}}</li> </ul>
これで、ジャンルを動的に変更して、表示される映画をベースにフィルターすることができます。希望のジャンルについて。このアプローチは、静的フィルター式を使用するよりもはるかに多用途です。
以上がAngularJS で OR 演算を使用して複数の値をフィルタリングする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。