查看休假时终止$ interval

时间:2016-07-30 23:53:11

标签: javascript angularjs node.js ionic-framework

我在离子/角度应用程序中有一个简单的计数器运行doRefresh(),因为您可以看到它使用$ interval调用自身,但是当用户离开此视图时。柜台仍在运行。我不能让它停止运行。我尝试过很多东西,包括下面的代码。请帮忙。你知道吗

$interval(function () { 
  $scope.doRefresh(); 
  console.log("refresh done");
}, 3000);

$scope.$on('$ionicView.enter', function(){

$scope.$on("$destroy",function(){
    if (angular.isDefined($scope.doRefresh())) {
        $interval.cancel($scope.doRefresh())
        console.log("Destroyed");
    }
  });


});

1 个答案:

答案 0 :(得分:0)

$interval返回取消间隔所需的承诺。请参阅以下代码:

var refresher = $interval(function () { 
  $scope.doRefresh(); 
  console.log("refresh done");
}, 3000);

$scope.$on('$ionicView.enter', function(){

$scope.$on("$destroy",function(){
    //This really wouldn't be needed, as refresher should always be defined.
    if (angular.isDefined(refresher)) {
        $interval.cancel(refresher);
        refresher = undefined;
        console.log("Destroyed");
    }
  });


});