Context
В настоящее время я вызываю один и тот же сервис $ timer на каждой странице. Цель состоит в том, чтобы показать «х секунд с момента последнего обновления». В моем контроллере у меня интервал $ будет обновлять страницу / данные каждые 10 секунд. Когда данные будут обновлены, я сброшу текущий таймер на 0 с, после чего счет будет продолжен.
Полезно ли использовать приведенный ниже код для сброса таймера, когда пользователь посещает другую страницу / состояние (используя UI-маршрутизатор). Кажется, это работает нормально, но я не уверен, что это правильный способ сделать это. Ожидается, что проект, над которым я работаю, будет иметь 10-20 (или более) разных страниц / состояний (разные URL). Предполагается, что на каждой странице есть этот таймер, показывающий пользователю, сколько секунд с момента последнего обновления, и на каждой другой странице, на которую пользователь переходит, должен сбрасываться таймер, поскольку из базы данных извлекается другой набор данных.
Вероятно, есть усовершенствования, которые необходимо выполнить, но насколько достаточно базового требования для сброса таймера при переходе на другую страницу или состояние, чтобы использовать $ transitions.onSuccess ()?
angular.module('app').run(function ($rootScope, $transitions, $timeout, TimerService) {
$transitions.onSuccess({}, function ($transitions) {
TimerService.stopTimer();
TimerService.startTimer();
});
});