2014-10-20 10 views
0

Я работаю над повторением ng и хочу получить общее количество всех подкатегорий в корзине.Получить общую сумму тележки в повторении ng

Вот ссылка на скрипку.

У меня есть идея итерирует JSON этим

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

     }) 

     return total; 
    } 

, но его получение осложненного в моем случае

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

ответ

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/

Имейте в виду, что это далеко не идеальное решение, но без дополнительной информации, что вы пытаетесь сделать здесь мы не можем дать вам большую помощь улучшения вашего приложения.

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; 
} 
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; 
    } 
+0

Не забудьте заменить '{общего}}' в '{{общее()}} '. –

Смежные вопросы