如何从 ng-repeat 指令创建数字总和

How to create sum of numbers from ng-repeat directive

我正在尝试对一列数字求和,但是当我使用下面的代码时,"total" 字段为空。关于我可能做错了什么的任何想法?

HTML:

<tr ng-repeat="project in projectList.projects>   
    <td>{{project.description}}</td>
    <td>{{project.type.cost | currency}}</td>
</tr>

<h2>Total: {{ total() | currency }}</h2>

Javascript:

myApp.controller('ProjectListCtrl', function ProjectListCtrl(Projects) {
var projectList = this;
projectList.total = function(){
    var total = 0;
    angular.forEach(projectList.projects, function(project) {
        total += project.type.cost;
    });
    return total;
};
})

看来您使用的是 controllerAs 语法,因此 ng-controller="ProjectListCtrl as projectList"

因此,您需要从视图中调用 projectList.total() 而不仅仅是 total()