如何设置ngClick仅用于ngRepeat中的$ first元素?

jEr*_*myB 6 angularjs

如何将ng-click分配给$first elementng-repeat?在下面的代码中,doSomething()只有在单击第一个输入时才应调用.其余输入不应分配ng-click处理程序.我找到了如何使用$firstng-class或ng-show但不使用ng-click的示例.

<div ng-repeat="item in items">
  <input type="checkbox" ng-click="doSomething()"/>{{item.name}}
</div>
Run Code Online (Sandbox Code Playgroud)

CD.*_*D.. 9

试试这个:

<input type="checkbox" ng-click="$first && doSomething()"/>{{item.name}}
Run Code Online (Sandbox Code Playgroud)

工作考试:http://jsfiddle.net/wLrYc/


Gru*_*nny 3

您还可以使用ngSwitch来避免创建您在对已接受答案的评论中提到的所有处理程序:

<div ng-repeat="item in items" ng-switch on='$first'>
    <input type="checkbox" ng-switch-when='true' ng-click="doSomething()"/>
    <input type="checkbox" ng-switch-when='false'/>
    {{item.name}}
</div>
Run Code Online (Sandbox Code Playgroud)