带按钮的AngularJS ng-repeat列表:单击后禁用按钮

时间:2015-11-10 12:22:00

标签: angularjs list button

我在AngularJS中有一个包含多个条目的列表,每个条目都有一个按钮。单击按钮时,应用程序将执行一些操作,然后成功完成后,应禁用该按钮。

我模板中有趣的部分如下所示:

<li ng-repeat="item in items">
  <span>{{item}}</span>
  <button ng-click="doSomeStuff(item)">Request</button>
</li>

我已经尝试过使用ng-if指令,但当然每个按钮都会消失。

以前,我考虑过使用原始Javascript或jQuery的解决方案,因为只需通过其id修改按钮就很容易了。但AngularJS是否提供了解决方案?

1 个答案:

答案 0 :(得分:4)

使用ng-disabled,如下所示:

<li ng-repeat="item in items">
  <span>item</span>
  <button ng-click="doSomeStuff(item)" ng-disabled="item.disabled">Request</button>
</li>

控制器:

$scope.doSomeStuff = function(item) {
    //do operations and finally set disabled to true for that button
    item.disabled = true;
}