Angular.js устанавливает логическую переменную области видимости, когда анимация происходит через директиву пользовательского интерфейса UI-Router

Я использую директиву ui-view ui-router и ng-animate 1.3.8, чтобы добавить переход страницы CSS, когда содержимое ui-view обновляется при изменении состояния. У меня переход работает отлично, но теперь я хотел бы определить логическую переменную в $rootScope, которая установлена ​​в true в то время как происходит анимация пользовательского интерфейса и false иначе.

Каков угловой способ сделать это? Я попытался определить новую анимацию с тайм-аутом, установленным на тот же период времени, что и переход css, а затем прикрепить ее к элементу пользовательского интерфейса, но кажется, что он работает только периодически. Это также кажется совершенно плохой практикой, поэтому я стремлюсь знать правильный путь. Смотрите код ниже:

В HTML:

<div ui-view="main" class="trans-timer"></div>

Анимация:

.animation('.trans-timer', function($timeout, $rootScope) {
  return {
    enter : function(element, done, memo) {
      $rootScope.isAnimating = true;
      $timeout(function () {
        $rootScope.isAnimating = false;
      }, 500);
     }
   };
})

Благодарю.

0 ответов

Другие вопросы по тегам