通过更改对象属性禁用按钮

时间:2016-05-20 09:45:47

标签: javascript angularjs angularjs-ng-disabled

点击按钮我不会禁用所有按钮以防止任何其他操作。 为此,我使用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;
}

1 个答案:

答案 0 :(得分:2)

在javascript中,您的变量为isLoading,而在HTML中,变量为isProcessing。所以我想你应该重命名其中一个。