Javascript 遍历多个ng模型

Javascript 遍历多个ng模型,javascript,angularjs,Javascript,Angularjs,我有一组ng model元素,希望将所有值相加并显示出来。我的电视机看起来像这样 <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='calcula

我有一组
ng model
元素,希望将所有值相加并显示出来。我的电视机看起来像这样

<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>

{{sum}}
我的控制器看起来像这样

<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>

函数SumApp($scope){
$scope.sum=0;
$scope.calculate=函数(){
$scope.sum=$scope.val1+$scope.val2+$scope.val3+$scope.val4
};
}
因此,像
模型的html一样,它是动态生成的


问题是,是否有任何方法可以迭代一组元素
ng model
,而无需在控制器定义本身中使用任何
列表

知道在任何时候输入的确切数量,您可以轻松地使用循环对其进行汇总:

$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);
    }
};
$scope.sum=0;
$scope.numInputs=5;
$scope.calculate=函数(){
var i;
$scope.sum=0;
对于(i=0;i<$scope.numInputs;i++){
$scope.sum+=parseInt($scope['val'+i],10);
}
};

你知道有多少个吗?是的,我可以预测有多少个,那么为什么不
为(i=0;i
?你能回答把它标记为有效吗