Как сложить введенные числа?

Пишу приложение подсчета бюджета, как реализовать вывод суммы веденных чисел?

function TodoCtrl($scope){
  var sums = $scope.sums = [];
  $scope.sum = '200';
  $scope.addSu = function(sum){
    sums.push(sum);
  };
  $scope.removeSum = function(index){
    sum.splice(index,1);
  };
}


<!DOCTYPE html>
<html>
<head>
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
	<script src="todo.js"></script>
</head>
<body>
	<div ng-app>
  
  <div ng-controller="TodoCtrl">

    <h2>Сегодня я потратил: {{sum}} руб.</h2>
    <input type = 'text' ng-model = "sum" size = "40" />
    <button ng-click = "addSu(sum)">Добавить</button>
    <ul>
      <li ng-repeat = "sum in sums track by $index">
        <span ng-bind="$parent.$eval(sum)"></span>
        <span>руб</span>
      </li>
    </ul>
</div>
</div>
</body>
</html>
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
просто считайте сумму в контроллере, ничего такого.

this.total = this.sums.reduce((sum, i) => sum + i, 0);


вынесите это в отдельную функцию и вызывайте ее при добавлении/удалении элементов. И да, меньше логики в шаблонах и читайте angular-styleguide.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы