javascript - x 秒后禁用按钮

标签 javascript angularjs

我正在使用 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);

示例:http://jsfiddle.net/Lt7aP/863/

关于javascript - x 秒后禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659090/

相关文章:

javascript - 选中复选框后不显示 JQuery Mobile Div

javascript - JQuery获取 'id'属性

javascript - 在对象数组中查找并替换部分属性值

javascript - if、for 或 while 为空体时,使用空括号代替分号

javascript - 将复选框和下拉列表的值传递到同一数组中

javascript - 从 AngularJS 插值中的数字中删除尾随零

javascript - 类型错误 : undefined not a constructor when using beforeEach in jasmine test

javascript - 将数据从 PHP 传递到 angular.js

angularjs - 如何使用 angularjs 在 ionic 中制作简单的按钮导航

javascript - 如何在 Ionic 本地存储中高效存储数据,而不需要每次都转换对象?