单击按钮时,我不想禁用所有按钮以防止任何其他操作。
为此,我使用了 request.isProcessing
bool 值。
在开始时,function approve(request)
我将 request.isProcessing
设置为 true
,最后设置为 false
。
但这行不通。 (对于 ng-repeat 中的请求 request.isProcessing
没有改变)
是因为我在不同的 scope
还是什么?
<div class="one-third" ng-repeat="request in pendingRequests track by request.id">
...
<div class="button-container">
<button ng-click="approve(request);" ng-disabled="request.isProcessing" class="btn btn-primary">Confirm<i ng-hide="request.isProcessing" class="fa fa-check"></i><span ng-show="request.isProcessing" class="spinner no-hover"><a><i class="fa-li fa fa-spinner fa-spin"></i></a></span></button>
<button ng-click="reject(request);" ng-disabled="request.isProcessing" class="btn btn-default pull-right" am-hide-request-resolve-div>Reject <i ng-hide="request.isProcessing" class="fa fa-times"></i><span ng-show="request.isProcessing" class="spinner no-hover"><a><i class="fa-li fa fa-spinner fa-spin"></i></a></span></button>
</div>
</div>
$scope.approve = function (request) {
request.isLoading = true;
//functionality of approving
request.isLoading = false;
}
最佳答案
在 javascript 中,您的变量是 isLoading
,而在您的 HTML 中,变量是 isProcessing
。所以我想你应该重命名其中一个。
关于javascript - 通过更改对象属性使按钮禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37343380/