56

アイテムのリストをカテゴリ別にフィルタリングする必要があります。ユーザーがボタンをクリックして、フィルターをリストに適用できるようにしたい。

現時点では、私はこれをある程度機能させています。

たとえば、次のようにレンダリングされた映画のリストがあるとします。

<li ng-repeat="movie in movieList | filter:filters">{{ movie.title }}</li>

また、映画のジャンルのリスト (ボタンとしてレンダリングされ、クリックすると映画のリストがフィルター処理されます) も次のようにレンダリングされます。

<li ng-repeat="genre in genres">
    <a ng-click="filters.genre = genre.name" ng-click='changeGenre(genre.name)'>{{genre.name}}</a>
</li>

(「changeGenre()」関数が行うのは、スコープを更新して現在表示されているジャンルを表示することだけです)。

「アクション」と「アクション アドベンチャー」という 2 つのジャンルがあるとします。ジャンルが「アクション」の映画でフィルタリングすると、アクション映画のリストだけでなく、アクション アドベンチャー映画も取得されます。

フィルターを使用して完全一致を取得する方法はありますか?

4

3 に答える 3

135

これは、フィルタ内でネイティブに提供されるようになりました。厳密な一致を有効にするには、フィルターに true を渡すだけです。

<li ng-repeat="movie in movieList | filter : filters : true">{{ movie.title }}</li>

レファレンス

https://docs.angularjs.org/api/ng/filter/filter

https://stackoverflow.com/a/18243147/1466430

于 2014-07-04T08:58:26.547 に答える