I новый с приложением и угловой.Отмена интервала, когда приложение переходит на задний план
Мое приложение использует интервал, чтобы обновить область с запросом получения на сервер. Я хочу, чтобы этот интервал был отменен, когда приложение переходит на задний план.
я увидел на другой пост «$ OnUnload = функция()», но я не уверен, если это хорошо или как использовать его ... Я стараюсь: $scope.$onunload=function(){ // Make sure that the interval is destroyed when leaving app $scope.stopRefresh(); };
, но это не сработало.
Обратите внимание, что stopRefresh() функция работа с оставлением вкладки, то отменить интервал ...
в другой стороны, есть какой-то способ, что я могу перезагрузить Whan интервала возвращается Фро фона?
здесь полный контролер:
angular.module('starter.controllers', [])
main.controller("temperatureCtrl", ["$scope", "$rootScope", "$window", "$interval", "ArduinoService", function($scope, $rootScope, $window, $interval, service) {
$rootScope.arduinoServerUrl = '';
$rootScope.arduinoServerUrl = $window.localStorage['serverUrl'];
var autoRefresh;
$scope.channels = [];
function onTabSelected() {
$rootScope.arduinoServerUrl = $window.localStorage['serverUrl'];
}
$scope.options = {
loop: false,
//effect: 'fade',
speed: 500,
}
$scope.data = {};
$scope.$watch('data.slider', function(nv, ov) {
$scope.slider = $scope.data.slider;
})
function startRefresh() {
autoRefresh = $interval(function() {
updateAjax();
}, 5000);
}
function updateAjax() {
service.getChannels(function(err, result) { //get json data
if (err) {
return alert(err);
}
// puis les mets dans le scope
$scope.channels = result.channels;
})
};
$scope.init = function() { //on load page first get data
updateAjax();
//startRefresh()
}
$scope.stopRefresh = function() {
$interval.cancel(autoRefresh);
};
$scope.restartRefresh = function() {
startRefresh();
};
$scope.$on('$ionicView.leave', function() {
// Make sure that the interval is destroyed when leaving tab
$scope.stopRefresh();
});
$scope.$onunload=function(){
// Make sure that the interval is destroyed when leaving app
$scope.stopRefresh();
};
$scope.$on('$ionicView.enter', function() {
//star or restart interval scope update
$scope.restartRefresh();
});
$scope.$on('$destroy', function() {
// Make sure that the interval is destroyed too
$scope.stopRefresh();
});
}]);
это немного. Я новичок в угловой и никогда не использую фабрику ... попытаюсь понять, что есть ... но вы понимаете, что я хочу делать.: P. Могу ли я просто ввести интервал в функцию и отменить ее оттуда? на заводе нужно позвонить куда-нибудь? Я знаю, что я настоящий новичок ...: p – Nitrof