Знаменитая угловая анимация

В приведенном ниже известном угловом коде анимация работает при первом щелчке, но не при втором щелчке или после него. Какой код отсутствует, чтобы заставить это работать при каждом клике?

Спасибо!

Js

$scope.animate = function(index) {
        $scope.list[index].rotate.set(Math.PI * 4, {curve: Easing.inOutElastic, duration: 3000 })
    };

HTML

<fa-grid-layout fa-options="myGridLayoutOptions">
    <fa-modifier ng-repeat="item in list"
                 fa-origin="[0.5, 0.5]"
                 fa-align="[0.5, 0.5]"
                 fa-rotate-z="item.rotate.get()">
      <fa-surface fa-background-color="item.bgColor" fa-click="animate($index)">
        {{item.content}}
      </fa-surface>
    </fa-modifier>
  </fa-grid-layout>             

1 ответ

Решение

Поскольку вы уже осуществили переход к (Math.PI * 4), теперь это текущее состояние вращения, поэтому переходить некуда. Другими словами, переходные периоды не накапливаются. Верните Transitionable обратно в исходное состояние, затем снова перейдите.

$scope.animate = function(index) {
    $scope.list[index].rotate.set(0);
    $scope.list[index].rotate.set(Math.PI * 4, {curve: Easing.inOutElastic, duration: 3000 })
};
Другие вопросы по тегам