我有一个简单的input像这样:

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


和我的控制器中的数组是这样的:

myApp.controller('MyCtrl', function($scope) {
    $scope.arr = [
        {str: ''},
        {str: ''}
    ];
});


如何将input的模型绑定到str中每个对象的arr属性?

Fiddle here.

谢谢你的帮助。

最佳答案

使用ng-change指令并使用scope更新angular.forEach




var myApp = angular.module('myApp', []);

myApp.controller('MyCtrl', function($scope) {
  $scope.arr = [{
    str: ''
  }, {
    str: ''
  }];
  $scope.updateIt = function(myModel) {
    angular.forEach($scope.arr, function(value, key) {
      value.str = myModel;
    });
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>

<div ng-app="myApp" ng-controller="MyCtrl">
  <code>{{arr}}</code>
  <br />
  <br />
  <!-- bind input model to every object 'str' -->
  <input type="text" ng-model="myModel" ng-change='updateIt(myModel)' />
</div>





Fiddle Demo

关于javascript - 将输入模型绑定(bind)到数组中的每个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38055538/

10-12 12:46