如何将一组重复的单选按钮映射到Angular控制器模型上的数组?

时间:2013-03-31 18:30:17

标签: javascript angularjs

例如,我有一个名为'houses'的数组属性的控制器,我ng-repeat - 在带有一组单选按钮的表行上(true / false,或者你有什么) 。模型应该在那些单选按钮上应该是什么,这样选择它们中的任何一个都会在模型数组中的相应项上设置值?我已经尝试将模型设置为:

ng-model="array[{{$index}}]"

但那没用。我取出了{{ }},只是留下了文字字符串'$ index'。

这在Angular中是否可行?

2 个答案:

答案 0 :(得分:2)

它应该在没有卷曲支架的情况下工作。我做了Plunker

$scope.houses = [true, false, true, false, false];
<ul>
  <li ng-repeat="house in houses">
    Checked: <input type="checkbox" ng-model="houses[$index]" />
  </li>
</ul>

{{houses}}

我不明白你是否有一个复杂的对象并且想要设置它的属性(即ng-model="houses[$index].checked"。如果是这种情况,那么你应该只使用迭代器(即ng-model="house.checked"),因为house将迭代每个数组对象。

答案 1 :(得分:0)

实际上,这个特殊情况有一个issue开放。似乎这是不可能的,单选按钮由于ng-repeat而具有自己的范围。

使用checked属性有另一种解决方案:see code