2016-12-18 2 views
1

У меня есть маршрут в угловом режиме, который вызывает функцию каждые x секунд для опроса данных (с помощью setInterval). Моя проблема заключается в том, что когда пользователь переходит к другому маршруту, опрос продолжается. Как остановить опрос (clearInterval) при переключении на любой другой маршрут с помощью ui-router?Как остановить опрос в угловом режиме при переключении маршрутов

ответ

1

В ui-router маршруты аналогичны состояниям, ui-router предоставляет вам state lifecycle events.

Одно из этих событий, $stateChangeSuccess может использоваться для отмены вашего $interval в случае, если вы попытались изменить маршрут/состояние и преуспели.

$scope.$on('$stateChangeSuccess', function(event){ 
    // cancel your $interval here 
}) 
Смежные вопросы