У меня проблема с простой страницей входа/выхода. Когда пользователь регистрируется в/из, отображается сообщение об успешном завершении с обратным отсчетом. По истечении времени ожидания маршрут изменяется.AngularJS: изменить маршрут до окончания обратного отсчета, но начинается перенаправление
Однако пользователь может перемещаться до окончания обратного отсчета (используя меню или кнопку). Проблема в том, что даже при использовании меню все еще срабатывает тайм-аут входа/выхода.
Здесь код счетчика:
$scope.onTimeout = function(){
$scope.counter--;
$scope.timeoutCountdown = $timeout($scope.onTimeout,1000);
if($scope.counter === -1){
$scope.safeApply(function() { $location.path("/home"); }); //if the user isn't logged...redirect to main
}
};
И это код, который изменит положение при нажатии кнопки:
$scope.redirectToHome = function() {
$scope.safeApply(function() { $location.path("/portale"); });
};
Кто-нибудь знает, почему тайм-аут срабатывает после смены контроллера ?
Заранее спасибо
Укажите «плохой эффект». Что именно происходит неправильно? В его нынешнем виде ваш вопрос очень трудно понять. – thomaux
Я знаю. И это очень сложно объяснить :-). Эффект заключается в том, что когда пользователь переходит к домашнему маршруту с помощью кнопки, а затем изменяет маршрут, например, в маршруте поиска ... обратный отсчет заканчивается и снова изменяет маршрут домой. – sickk
Итак, в основном вы хотите отменить таймаут, если пользователь изменит маршрут до истечения таймаута? – thomaux