【AngularJS】フィルタリング済みの件数を取得する。

検索機能などの実装時、フィルタリング後の件数を取得したい場合。

<span>{{(data|filter:query).length}}</span>

queryで絞った後の配列のlengthを参照してやればOK。

下記のような方法もエレガント。

<div ng-repeat="person in filtered = (data | filter: query)">
</div>

で、こうする。

Showing {{filtered.length}} Persons

リピートの母体にそもそもフィルタリング後のデータを注入してやるのは斬新。