javascript - ng-repeat 中的总量

标签 javascript html angularjs

我需要帮助计算这个 ng-repeat 中的 tickets.number 总数

HTML

<tr ng-repeat="tickets in listTickets | filter: searchText | orderBy: sortorder:reverse">
    <td>{{ tickets.match }}</td>
    <td>{{ tickets.number }}</td>
    <td>{{ tickets.company }}</td>
    <td>{{ tickets.contact }}</td>
    <td>{{ tickets.mail }}</td>
    <td>{{ tickets.phone }}</td>
    <td><button class="btn btn-info" ng-click="edit(tickets._id)">Edit</button> </td>
    <td><button class="btn btn-danger" ng-click="delete(tickets._id)">Radera</button></td>   
</tr>
<tr>
    <td colspan="8"> Total of: {{ totalTickets() }} tickets</td>
</tr>

我的controller.js

 $scope.totalTickets = function(){

 }

最佳答案

您可以使用 ECMAScript 5 Array.prototype.map()Array.prototype.reduce()得到总和。

AngularJS 方法 totalTickets 在 View 中过滤时传递 filteredArr 数组参数 ng-repeat:

$scope.totalTickets = function (filteredArr) {
  return filteredArr
    .map(function (o) {
        return o.number;
    })
    .reduce(function (a, b) {
        return a + b;
    }, 0);
};

AngularJS View :

<tr ng-repeat="tickets in listTickets | filter: searchText as filteredArr | orderBy: sortorder:reverse">
    <td>{{ tickets.match }}</td>
    <td>{{ tickets.number }}</td>
    <td>{{ tickets.company }}</td>
    <td>{{ tickets.contact }}</td>
    <td>{{ tickets.mail }}</td>
    <td>{{ tickets.phone }}</td>
    <td><button class="btn btn-info" ng-click="edit(tickets._id)">Edit</button></td>
    <td><button class="btn btn-danger" ng-click="delete(tickets._id)">Radera</button></td>   
</tr>
<tr>
    <td colspan="8"> Total of: {{ totalTickets(filteredArr) }} tickets</td>
</tr>

代码示例:

var listTickets = [{number: 1},{number: 2},{number: 3},{number: 4}],
    total = listTickets.map(o => o.number).reduce((a, b) => a + b, 0);

console.log(total);

关于javascript - ng-repeat 中的总量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41239147/

相关文章:

javascript - 获取浏览器中所有现有内置变量的完整列表

javascript - 无法读取未定义 REACT 的 setState 属性

Javascript/ActionScript 对每个indexOf 做什么?

javascript - 覆盖 AngularJs 服务

javascript - 如何使用 angularjs 的 $http 获取最终重定向的 url

javascript - modal 不想通过 $location AngularJS 打开自己

javascript - 在回调和事件之后调用方法

javascript - 可调整大小的 <a> 元素

html - 将两个文本框和一个搜索按钮右对齐并排成一行

html - 用 a 标签包围 li 标签是不好的做法吗?