Идея заключается в том, чтобы модальная функция была открыта на определенной странице после того, как пользователь находился на ней в течение 10 секунд, и отмените ее, если пользователь покинет страницу. Он работает, когда я обновляю страницу, но когда я перехожу к странице, мой код отменяет интервал $, когда он загружается.
В моем контроллере:
$rootScope.$on("$locationChangeStart", function(event, next, current) {
$interval.cancel(interval);
});
$scope.openmodal = function() {
interval = $interval(function() {
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: 'modal.html',
controller: 'ModalInstanceCtrl',
size: 'lg',
});
}, 10000, [1]);
}
$scope.openmodal();
Проблема заключается в $ locationChangeStart выполняется, когда состояние загрузки приходит из другого государства. Когда я просто обновляю браузер, $ locationChangeStart не запускается, и модальная функция откроется через 10 секунд. Как остановить мой контроллер от вызова метода $ interval.cancel() при загрузке из другого состояния?
Пробовал использовать $ stateChangeStart вместо этого? Или даже лучше $ stateChangeSuccess? – rrd