停止倒计时angularjs

时间:2017-11-04 09:47:48

标签: angularjs countdown

我已经使用了这段代码,我希望在到达00:00时停止倒计时。我想使用$interval.cancel();,但我不知道如何使用它。

我的代码在这里:



var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $interval) {
     $scope.counter = 10;   
     $interval(function(){console.log($scope.counter--)},1000);
});
app.filter('counter', [function() {
    return function(seconds) {
        return new Date(1970, 0, 1).setSeconds(seconds);
    };
}])

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<p>{{counter | counter | date:'mm:ss'}}</p>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

添加cat = "<?php echo $category;?>"; 之类的条件并清除间隔。

根据$interval,您需要取消间隔的承诺。

counter != 0
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $interval) {
         $scope.counter = 10;
         var intervalTime=null;   
         intervalTime= $interval(function(){console.log($scope.counter--); 
         if($scope.counter == 0){
              $interval.cancel(intervalTime);
              intervalTime = null;
         }
},1000);
    });
    app.filter('counter', [function() {
        return function(seconds) {
            return new Date(1970, 0, 1).setSeconds(seconds);
        };
    }])