以ng重复获得购物车总数

时间:2014-10-20 09:20:10

标签: angularjs

我正在努力重复,想要获得购物车中所有子总数的总计。

这是小提琴链接。

我有想通过这个

迭代json
$scope.total = function() {
        var total = 0;
        angular.forEach($scope.items, function(item) {

        })

        return total;
    }

但在我的案例中它变得越来越复杂

http://jsfiddle.net/75m7e/744/

3 个答案:

答案 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;
    }