我在离子/角度应用程序中有一个简单的计数器运行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");
}
});
});
答案 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");
}
});
});