Лучший подход к созданию приложения киоска с представлениями, которые меняются по таймеру

0

У меня есть приложение, которое я создаю, и имеет около 6 разных видов, каждый со своим собственным контроллером.

Я хочу автоматически переключаться каждый вид через х секунд, а затем в конце вернуться к началу.

Я также хочу, чтобы вы могли приостановить таймер, если вы нажмете кнопку паузы.

То, что у меня есть (и я уверен, что есть способ лучше подойти) на данный момент, является таймером в каждом контроллере, который останавливается после изменения вида.

$rootScope.homeProm = $timeout(function(){
    $location.path('page2');
},12000);
$scope.$on('$locationChangeStart', function() {
    $timeout.cancel(homeProm);
});

Будет ли использование состояний лучше в этом сценарии? И лучше ли использовать сервис для таймера?

Теги:

2 ответа

0

У меня будет контроллер оболочки:

<div ng-controller="WrapperController">
  <div ng-view=""></div>
<div>

Каждый вид будет иметь свой собственный контроллер, а WrapperController будет обрабатывать изменение вида и остановки. У меня не будет дублирующего кода в каждом контроллере.

Это то, что я бы сделал в первую очередь, возможно, есть еще одно лучшее решение.

0

Вы можете использовать $destroy of $scope, что будет иметь большее значение. Поскольку контроллер получает регистрацию с DOM, он вызывает ваш нужный код. В основном этот блок используется для очистки кода.

$scope.$on('$destroy', function() {
    $timeout.cancel(homeProm);
});
  • 0
    @marksy тебе это помогло?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню