我正在努力重复,想要获得购物车中所有子总数的总计。
这是小提琴链接。
我有想通过这个
迭代json$scope.total = function() {
var total = 0;
angular.forEach($scope.items, function(item) {
})
return total;
}
但在我的案例中它变得越来越复杂
答案 0 :(得分:1)
简单的解决方案,使您当前的结构保持最完整:
将视图从{{total}}
更改为{{total()}}
并实现您的功能:
$scope.total = function() {
var total = 0;
angular.forEach($scope.items, function(item) {
total += item.price * item.qty;
})
return total;
}
更新了小提琴:http://jsfiddle.net/t4bbj8h2/
请注意,这远不是一个理想的解决方案,但如果没有更多信息,您在此处尝试做的事情,我们无法为您提供更多帮助来改善您的应用程序。
答案 1 :(得分:0)
您可以添加方便的underscore.js库并执行
$scope.total = function() {
var total = 0;
_.map($scope.items, function(item) {
total += parseFloat(item.price || 0) * parseFloat(item.qty || 0);
});
return total;
}
答案 2 :(得分:0)
找到解决方案:
http://jsfiddle.net/75m7e/745/
$scope.total = function() {
var total = 0;
angular.forEach($scope.items, function(item) {
if(item.isProduct=="1") {
total += item.price * item.qty;
} else if ( item.isProduct=="0" ){
total += (item.weight/1000) * item.price ;
}
})
return total;
}