我在Angularjs中有一个html页面。在页面中有两个div,一个包含有关用户总数的数据,另一个div包含从服务中填充数据的用户列表。
代码是。
app_user.html
// IN this div i am getting the total no of users by users.length
<div id ="total_user"> no of users {{users.length}} </div>
<div id ="user_table">
// In this the no of users keeps changing as soon filter is applied
<tr ng-repeat="row in users | filter : {status: search['_status']} | filter : {payment_type:search['pay_type']}| orderBy : orderBy:reverse ">
<td >
<div ng-if="row.status !== 'Failure'"><!--{{$index}} -->
<input type="checkbox" checklist-model="user.roles" checklist-value="row.id">
</div>
</td>
<td>
<a ng-href="https://userapp.com/{{row.id}}" target="_blank">{{row.username}}</a>
</td>
<td>
<div>
<div>{{row.location}}</div>
</div>
</td>
</div>
在第一个div中,我找到了用户的总数,在第二个div中,我显示了具有详细信息的用户列表。
我已经应用了工作正常的过滤器。现在我想要的是当我应用过滤器时,用户的号码也应该针对应用的特定过滤器进行更改。我不知道如何将row.length
传递给外部div。
对于例如:在应用过滤器之前我总共没有用户说100,当我应用过滤器时,现在没有用户是40.现在在第一个div我想要显示用户的总数为40而不是100.
答案 0 :(得分:1)
请使用以下方式计算。
ng-repeat="row in filteredusers = (users | filter:{status: search['_status']} | filter : {payment_type:search['pay_type']} | orderBy:reverse)"
即时创建已过滤的列表,您可以在当前范围内的任何其他位置使用filteredusers.length
来显示计数。
过滤计数
{{filteredusers.length}}