ngDisabled替代链接?

时间:2016-04-06 13:06:18

标签: angularjs angularjs-ng-click angularjs-ng-disabled

我的页面上有一个列表,每个元素都有删除按钮。该按钮不是<button>,但实际上是一个fontawesome图标,ng-click指向RESTful服务的方法:

<i class="fa fa-trash fa-lg pull-right" ng-click="deleteQuestion($id)"</i>

只有在完成Http请求时,才会从视图中删除该元素。如果用户多次按下图标太快,将发送重复请求,只有第一次成功,其他请求失败,因为实体不存在。我想禁用按钮(图标)或不发送重复请求。什么是最好的方法?

我知道有ngDisabled,但我无法使用它,因为该元素实际上不是一个按钮,我也想阻止一个按钮。不是所有人都在同一时间。

2 个答案:

答案 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;
          }
}