仅针对特定的 ng-repeat 实例禁用按钮

Disabling the Button for only a specific instance of ng-repeat

我在包含按钮的 div 上有 ng-repeat。假设 div 使用 5 个按钮重复 5 次。我想在单击时禁用第二个按钮。如何禁用该索引处的按钮?

<div ng-repeat='thing in things'> <button ng-click='clickToDisable($index)'>button</button> </div>

像这样。我尝试了 ng-disabled= 'disableButton == $index,但这只会禁用所有按钮。

可以将$event传入click函数,将disabled属性设置为true,像这样:

<div ng-repeat='thing in things'>
  <button ng-click='clickToDisable($event)'>button</button>
</div>

在控制器中:

$scope.clickToDisable = function(evt) {
    evt.currentTarget.setAttribute('disabled', 'true');
}

这是一个 fiddle 它的工作原理。