如何将ng-click分配给ng-repeat中的$first element
?在下面的代码doSomething()
只应在单击第一个输入时调用。其余输入不应分配ng-click处理程序。我找到了如何使用ng-class或ng-show $first
但不使用ng-click的示例。
<div ng-repeat="item in items">
<input type="checkbox" ng-click="doSomething()"/>{{item.name}}
</div>
答案 0 :(得分:9)
试试这个:
<input type="checkbox" ng-click="$first && doSomething()"/>{{item.name}}
答案 1 :(得分: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>
答案 2 :(得分:0)
半丑的解决方案:将$ first作为参数发送到doSomething()
<div ng-repeat="item in items">
<input type="checkbox" ng-click="doSomething($first)"/>{{item.name}}
</div>
然后让$ scope.doSomething(actualDoSomething)只有在实际上DoDoMomething为真时才会这样做。