我正在使用 angularjs,我有一个用于创建票证的按钮,并且它与 http 请求一起使用,用于调用 php 网络,问题是 http 请求有 x 秒的延迟,人们可以在此进行如此多的点击延迟,结果,创建各种蜱虫并且只有 1 个工作,我需要在按钮中放置一个延迟,但我无法使其工作,请检查并注意解决方案应该在请求
jsfiddle之外
最佳答案
Angular 为此提供了一个 $timeout
服务组件:
$timeout(function() {
$scope.betDelay=false;
}, 1000);
除此之外,当您使用 $timeout
帮助器时,它会自动为您执行脏模型检查(默认情况下,当您使用默认的 window.setTimeout( 时不会发生这种情况) )
)。
基本上,Angular 不会不停地检查 $scope
是否发生了变化;它只检查组件生命周期中的关键点,而 $timeout 可以帮助您融入该生命周期。
查看更新后的 JSFiddle:http://jsfiddle.net/Lt7aP/862/
<小时/>作为替代方案,您还可以显式告诉 $scope
它需要通过 $apply()
执行脏检查。例如,
setTimeout(function() {
$scope.betDelay=false;
$scope.$apply();
}, 1000);
关于javascript - x 秒后禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659090/