AngularJS: 如何在 onclick 中使用 $index

AngularJS: How can I use $index in onclick

因此,我使用 $index 为 ng-repeat 中的每个单选按钮创建不同的 ID。我想在本地事件(而不是 ng- 事件)中引用这些 ID。

我在这个plunker

中做了一个例子

在此示例中,我始终使用元素 radio3,但我想为每个名称引用正确的 ID。

<ul ng-repeat="person in persons">
    <li onclick="$('#radio3').attr('checked', true);" ng-click="showIndex($index)">
        <input type="radio" name="radio" id="radio{{$index}}">{{person.name}}
    </li>
</ul>

谁能帮我弄清楚如何做这样的事情?

不要使用 onclick,因为它很难表现得很好,相反,您需要使用 The Angular Way™ 使用内置 ng-clickng-checked

<ul ng-repeat="person in persons">
  <li ng-click="person.checked = true; showIndex($index)" ng-checked="person.checked">
    <input type="radio" name="radio" ng-attr-id="radio{{$index}}">{{person.name}}
  </li>
</ul>


注意:如果您不想编辑 persons 项,请改用一些哈希图:ng-click="selected[$index] = true"ng-checked="selected[$index]"