将数组绑定到一个值的角度最简单的方法

时间:2014-09-26 08:28:44

标签: javascript angularjs

一个值绑定到值数组的角度最简单的方法是什么,以便所有数组项都获得相同的值,例如输入时的输入。

<script>
     var myArray= [1,1,1];  
</script>

<input ng-model="myArray" type="text" />

2 个答案:

答案 0 :(得分:2)

可以使用ngChange指令调用将新值绑定到所有元素的函数:

&#13 ;
&#13;
 angular.module('changeExample', [])
   .controller('ExampleController', ['$scope',
     function($scope) {
       $scope.valueToCopy = '';
       $scope.values = values = [1, 1, 1, 3, 6];
       $scope.change = function() {
         for (var i = values.length - 1; i >= 0; i--) {
           values[i] = $scope.valueToCopy;
         }
         console.log(values);
       };
     }
   ]);
&#13;
<div ng-app="changeExample" ng-controller="ExampleController">
  Copy this:
  <input ng-model="valueToCopy" ng-change="change()" />

  <ul>
    <li ng-repeat="value in values track by $index">Element at {{$index}} = {{value}}</li>
  </ul>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以$watch输入变量的值,然后更新数组,如下所示:

app.controller('MainCtrl', function($scope) {
  $scope.myArray = [];

  $scope.$watch('arrayValue', function(val){
    $scope.myArray = [val,val,val];
  })
});
------------------------------------------
<input type="text" ng-model="arrayValue">
{{ myArray }}