在我angular应用程序中,当我单击一个按钮时,它将在几毫秒内禁用,但在此期间,用户再次单击相同的按钮,然后再次发出功能,如api调用等。
发布于 2017-03-11 15:01:28
在你的控制器中,你可以这样做:
var buttonDisabled = false;
$scope.myClickFunction = function () {
if (!buttonDisabled) {
buttonDisabled = true;
MyService.MakeMyNetworkCall().then(function () {
buttonDisabled = false;
});
}
}
在这种情况下,一旦单击该按钮,就会在控制器中禁用该按钮,并且额外的单击将阻止它进行其他网络调用。然后,您从网络呼叫中返回一个承诺,并仅在网络呼叫完成时重新启用该按钮。此外,如果您公开了$scope
上的buttonDisabled
属性,那么一旦$apply
周期跟上,就可以使用它在视图中禁用按钮。
https://stackoverflow.com/questions/42732210
复制相似问题