2014-06-23 46 views
0

我有一組ng-model元素,並且想要總和所有值並顯示它。我的設置看起來像這些迭代幾個ng模型

<div ng-app> 
    <div ng-controller="SumApp" > 
    <input ng-model='val1' type='number' ng-change='calculate()' ng-init='val1=0'/> 
    <input ng-model='val2' type='number' ng-change='calculate()' ng-init='val2=0'/> 
    <input ng-model='val3' type='number' ng-change='calculate()' ng-init='val3=0'/> 
    <input ng-model='val4' type='number' ng-change='calculate()' ng-init='val4=0'/> 
    <div>{{sum}}</div> 
    </div> 
</div> 

我的控制器看起來像這些

<script type="text/javascript"> 
function SumApp($scope) { 
    $scope.sum = 0; 

    $scope.calculate = function() { 
    $scope.sum = $scope.val1+$scope.val2+$scope.val3+$scope.val4 
    }; 
} 
</script> 

等等之類的HTMLmodels生成動態

的問題是,如果有任何我可以迭代一組元素ng-model而不使用任何list控制器定義本身

+0

你知道他們中有多少有? –

+0

是的,我可以預測有多少 –

+1

那麼爲什麼不''for(i = 0; i

回答

1

在任何時候,你可以很容易地使用一個循環來概括起來了解輸入的確切數字:

$scope.sum = 0; 
$scope.numInputs = 5; 

$scope.calculate = function() { 
    var i; 
    $scope.sum = 0; 

    for(i = 0; i < $scope.numInputs; i++) { 
     $scope.sum += parseInt($scope['val' + i], 10); 
    } 
};