Angular,禁用一个按钮,然后在javascript中使用setTimeout激活它

Angular, disable a button and then activate it using setTimeout in javascript?

本文关键字:javascript 激活 然后 setTimeout 一个 Angular 按钮      更新时间:2023-09-26

我想禁用我的按钮,但几秒钟后激活它。代码确实运行,但按钮仍然禁用,即使我的代码已经执行。

app.controller('spamController', ['$scope', function($scope) {
$scope.stopSpam = false;
  
function activateBtn(){
  $scope.stopSpam = false;
};
$scope.test = function(){
  
  $scope.stopSpam = true;
  activateBtn();
};
}]);
<button ng-disabled="stopSpam" class="btn btn-default" ng-click="test()">Test</button>

使用$timeout,几秒钟后呼叫activateBtn:

app.controller('spamController', ['$scope', '$timeout', function($scope, $timeout) {
    $scope.stopSpam = false;
    function activateBtn(){
        $scope.stopSpam = false;
    };

    $scope.test = function(){
        $scope.stopSpam = true;
        $timeout(activateBtn, 3000);
    };
}]);