Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何从ng repeat指令创建数字总和_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

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

Angularjs 如何从ng repeat指令创建数字总和,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我试图对一列数字求和,但当我使用下面的代码时,“总计”字段为空。有没有想过我可能做错了什么 HTML: 似乎您正在使用controllerAs语法,例如ng controller=“ProjectListCtrl as projectList” 这样,您就需要从视图中调用projectList.total(),而不仅仅是total()我觉得错过了这个选项太愚蠢了。非常感谢。但是我注意到,我没有得到这些数字的总和。相反,数字是串联的。例如,如果原始数字是30.00和20.00,则我在总计列中得到的

我试图对一列数字求和,但当我使用下面的代码时,“总计”字段为空。有没有想过我可能做错了什么

HTML:


似乎您正在使用
controllerAs
语法,例如
ng controller=“ProjectListCtrl as projectList”


这样,您就需要从视图中调用
projectList.total()
,而不仅仅是
total()

我觉得错过了这个选项太愚蠢了。非常感谢。但是我注意到,我没有得到这些数字的总和。相反,数字是串联的。例如,如果原始数字是
30.00
20.00
,则我在总计列中得到的是
30,20.00
,而不是
50.00
。我是否应该发布一个与此相关的单独问题?您不必发布单独的问题,您的
cost
属性必须是字符串。请确保您的服务返回的是实际的数字,例如,
4
而不是
“4”
,或者将字符串转换为数字,即,
total+=parseFloat(project.type.cost)
——最好的方法是从您的服务返回正确的数据类型,即方法1
<tr ng-repeat="project in projectList.projects>   
    <td>{{project.description}}</td>
    <td>{{project.type.cost | currency}}</td>
</tr>

<h2>Total: {{ total() | currency }}</h2>
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;
};
})