Вот то, что вы ищете: JSFiddle
HTML
<div ng-app="myApp" ng-controller="ctrl" ng-strict-di>
{{total()}}<br/>
<input type="text" ng-model="item.num" ng-repeat="item in objects"/>
</div>
JS:
angular.module('myApp',[]).controller('ctrl',function($scope) {
angular.extend($scope,{
objects:[
{num:7},
{num:8},
{num:9}
],
total : function(){
var res = 0;
for (var i=0;i<$scope.objects.length;i++)
res+=parseInt($scope.objects[i].num);
return res;
}
});
});
UPDATE Чтобы проверить, если это обновление всего на объекты Num игра обновление с кодом, как это:
setInterval(function() {
$scope.objects[1].num++;
$scope.$apply();
},500); //increase num of 2nd object by 1, every half of second
Чтобы проверить, является ли она по-прежнему обновления при добавлении новых объектов, играть с кодом вроде этого:
setInterval(function() {
$scope.objects.push({num:Math.floor(Math.random()*100)});
},5000); //Add new object, with random num: value, every 5 seconds
Nice! Здесь '.extend' нужен? –
Нет, это просто хороший способ сделать $ scope.objects = ... и $ scope.total = ... что я обычно использую – jevgenig
Будет ли это автоматическое обновление при изменении одной из переменных? Или мне придется перезапустить расчет. –