ng-click中的角度执行异步函数

时间:2016-10-26 14:12:23

标签: javascript angularjs

我的webapp中有一个ng-table,每页有很多行(最多1000个)。 我还有一个select-all checbox,它调用一个函数ng-change来将每个表行中选择的标志设置为true。 该功能需要几秒钟才能执行,因此用户可以在复选框上单击两次或更多次,我想阻止这种情况。我想在执行函数时禁用该复选框。 是否有可能做到这一点? 感谢

2 个答案:

答案 0 :(得分:1)

也许你可以为ng-disable创建一些标记。像这样:

<input type="checkbox" ng-disabled="inProgress">

并在控制器处理时,您的函数添加此标记:

$scope.runYourFunction = function() {
 $scope.inProgress = true;
 ....... your function ........
 $scope.inProgress = false; // in the end. it will enabled your checkboxes; 
}

答案 1 :(得分:0)

一个非常简单的解决方案,不一定是最优的,是更新控制器中的逻辑属性(执行函数时设置为true,完成后设置为false)并使用基于此的“ng-disabled”指令您的复选框中的属性。