我的页面上有一个列表,每个元素都有删除按钮。该按钮不是<button>
,但实际上是一个fontawesome图标,ng-click
指向RESTful服务的方法:
<i class="fa fa-trash fa-lg pull-right" ng-click="deleteQuestion($id)"</i>
只有在完成Http请求时,才会从视图中删除该元素。如果用户多次按下图标太快,将发送重复请求,只有第一次成功,其他请求失败,因为实体不存在。我想禁用按钮(图标)或不发送重复请求。什么是最好的方法?
我知道有ngDisabled
,但我无法使用它,因为该元素实际上不是一个按钮,我也想阻止一个按钮。不是所有人都在同一时间。
答案 0 :(得分:0)
你可以这样做 -
$scope.deleteQuestion(id) {
$scope.disabled = true;
$http.get('url')
.success(data){
//other logic
$scope.removed = true;
}
}
在您的标记中,您可以 -
<i class="fa fa-trash fa-lg pull-right" ng-show="!removed" ng-disabled="deleted" ng-click="deleteQuestion($id)"</i>
这是最简单的方法,但肯定不是最强优雅。
答案 1 :(得分:0)
尝试以下方法:
查看:
<i class="fa fa-trash fa-lg pull-right" ng-hide="remove" ng-click="deleteQuestion($id)"</i>
Js控制器:
$scope.remove = false;
$scope.deleteQuestion(id) {
$scope.remove = true;
$http.get('url')
.success(data){
//other logic
$scope.remove = false;
}
}