我在AngularJS中有一个包含多个条目的列表,每个条目都有一个按钮。单击按钮时,应用程序将执行一些操作,然后成功完成后,应禁用该按钮。
我模板中有趣的部分如下所示:
<li ng-repeat="item in items">
<span>{{item}}</span>
<button ng-click="doSomeStuff(item)">Request</button>
</li>
我已经尝试过使用ng-if指令,但当然每个按钮都会消失。
以前,我考虑过使用原始Javascript或jQuery的解决方案,因为只需通过其id修改按钮就很容易了。但AngularJS是否提供了解决方案?
答案 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;
}