Ich habe eine Ansicht, die nach 1 Minute aktualisiert wird, ich stoppe den Timer nach dem Verlassen dieser Ansicht, und alles ist in Ordnung. Nach dem Zurückkehren zur aktuellen Ansicht wird der Timer nicht erneut gestartet.
Dies ist der Code der Steuerung dieser Ansicht:
.controller('IndexCtrl', function($scope, $timeout, RestService) {
var updateN = 60*1000;
$scope.test = "View 1 - Update";
var update = function update() {
timer = $timeout(update, updateN);
/** make a http call to Rest API service and get data **/
RestService.getdata(function(data) {;
$scope.items = data.slice(0,2);
});
}();
/** Stop the timer before leave the view**/
$scope.$on('$ionicView.beforeLeave', function(){
$timeout.cancel(timer);
//alert("Before Leave");
});
/** Restart timer **/
$scope.$on('$ionicView.enter', function(){
$timeout(update, updateN);
//alert("Enter");
});
})
.controller('ViewCtrl2', function($scope) {
$scope.test = "View 2";
});
Das war das Problem. Sie können immer den angularen Service [$ interval] (https://docs.angularjs.org/api/ng/service/$interval) verwenden. – LeftyX