1

サイトで angularjs を使用していますが、ビューのリストをフィルター処理する検索入力があります。このリストは、検索入力からのフィルターを持つ ng-repeat で表示されます。

検索入力:

<input type="text" placeholder="Device Search" class="form-control hasclear" 
  ng-model="searchText"/>

そしてここでng-repeat:

<tr ng-click="openModal(device['device_id'], device)" 
  ng-repeat="device in devices | filter:searchText | orderBy:predicate:reverse">

ご覧のとおり、ng-repeat のフィルターには、ng-model の searchText 変数を使用するフィルターがあります。ユーザーが検索入力にテキストを入力したときに見つかったオブジェクトの数を知ることができるかどうかを知りたいです (ng-repeat がフィルタリングされて表示されているデバイスの数)。のように: 0 devices were found, 3 devices were found...

この検索を構築した方法でこの情報を表示する方法はありますか?

4

4 に答える 4

2

<tr>タグの外で必要な場合は、次のようにします。

<tr ng-click="openModal(device['device_id'], device)" 
ng-repeat="device in filteredResults = (devices | filter:searchText | orderBy:predicate:reverse)">

{{filteredResults.length}} devices were found
于 2015-02-24T22:10:16.697 に答える
1

filter:x as result結果のコレクションを変数に格納するようなフィルターを使用しますresult

したがって、次のことができます。

<tr ng-click="openModal(device['device_id'], device)" ng-repeat="device in devices | filter:searchText as filteredCollection | orderBy:predicate:reverse">
  <td><span>Filtered collection size: {{filteredCollection.length}}</span><td>
</tr>
于 2015-02-24T22:10:23.960 に答える