为什么带有ng重复的单选按钮不起作用

Why does radio button with ng-repeat not work?

本文关键字:单选按钮 不起作用 ng 为什么      更新时间:2023-09-26

我有一个简单的ng重复,带有一个拒绝工作的单选按钮。以下操作非常好:

<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做错了什么吗?

ng-repeat通过user.positions为每个迭代创建一个单独的子$scope。这些$scope都没有display_as属性。

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