如何将数组绑定到ngModel?

时间:2015-05-05 17:45:23

标签: javascript angularjs

我正在尝试将输入元素的变量列表绑定到数组。假设我有一个数组

$scope.set = [{id: 1, value: 'foo'}, {id: 2, value: 'bar'}]

我想遍历该数组并为每个项目创建一个输入元素。

<div ng-repeat="item in set">
  <input id="{{item_$index}}" ng-model="myModel.items[]"/>
</div>

我意识到上面的ng-model属性不正确。完成此要求的正确方法是什么?

3 个答案:

答案 0 :(得分:4)

您需要在item.value中使用ng-model,以便它可以绑定其值,并且在更新时元素item值会发生变化。

<强>标记

<div ng-repeat="item in set">
  <input id="{{item.id}}" ng-model="item.value"/>
</div>

答案 1 :(得分:1)

你在寻找这样的东西吗?

ng-model="item.value"

答案 2 :(得分:1)

您的代码看起来不错,但item_$index未定义。如果您想要ng-repeat循环中的索引,请使用{{$index}}。请参阅ngRepeat docs了解您可以使用的“魔法”绑定。或者只使用item.id

ng-model可以是item的任何内容。 例如ng-model="item"ng-model="item.value"。由于input默认为type="text"item.value似乎是最合理的选择。