为什么带有ng-repeat的单选按钮不起作用?

时间:2016-01-03 18:38:36

标签: javascript html angularjs

我有一个简单的ng-repeat,带有一个拒绝功能的单选按钮。以下工作完全正常:

<label class="radio-inline">
    <input type="radio" ng-model="display_as"  name="display_as" value="1">position 1
    <input type="radio" ng-model="display_as"  name="display_as" value="2">position 2
</label>
<pre>{{ display_as }}</pre>

但是下面我看到两个单选按钮(正如预期的那样),我可以选择两个单选按钮中的任何一个,但$scope.display_as仍未定义。

<label ng-repeat="position in user.positions" class="radio-inline">
    <input type="radio" ng-model="display_as"  name="display_as" value="{{ $index }}">{{ position.name }}
</label>
<pre>{{ display_as }}</pre>

为什么哦为什么?!任何人都可以告诉我在ng-repeat中我做错了什么吗?

1 个答案:

答案 0 :(得分:3)

ng-repeat$scope的每次迭代创建一个单独的子user.positions。这些$scope中没有一个具有display_as属性。

您可以使用$scope访问ng-repeat内的父$parent。在您的情况下:$parent.display_as