2015-05-29 44 views
5

Tôi gặp vấn đề với hoạt ảnh sau khi cập nhật từ Angular 1.2 -> 1.4.Angular Animate 1.4 quá nhanh

Tôi tạo hiệu ứng chuyển tiếp trang bằng cách thay đổi lớp css trên phần tử vùng chứa chế độ xem. Tôi sử dụng ui-router và có chỉ thị ng-class trên phần tử. Người dùng điều hướng bằng các phím mũi tên (trình nghe sự kiện trong app.run()). Điều này đặt lớp như là một biến chuỗi 'navDirection' (trái/phải) trên $ rootScope.

Sau khi cập nhật, dường như $ rootScope.navDirection được đặt SAU hình động. Vì vậy, hoạt ảnh sai khi người dùng thay đổi hướng.

Bất kỳ đề xuất và/hoặc nhận xét nào được đánh giá cao!

index.html

<body ng-cloak ng-keydown="handleEvt($event)"> 
    <div class="page-wrapper page-wrapper--constrain" ng-class="{'page-wrapper--decorate' : decoratePageContent === true}"> 
     <div class="page-content group position-context"> 
      <div ui-view class="slide" ng-class="{'at-view-slide-in-left at-view-slide-out-right': navDirection == 'right', 'at-view-slide-in-right at-view-slide-out-left': navDirection == 'left'}"></div> 
     </div> 
    </div> 
</body> 

app.js

var app = angular.module('my-app', [ 
    'ui.router', 
    'ngAnimate' 
]); 

// ... 

app.run(function ($rootScope, navigationService) { 

    $rootScope.handleEvt = function(e) { 
     if ($rootScope.navVisible) { 
      switch (e.which) { 
       // right 
       case 37: 
        $rootScope.navDirection = "right"; 
        navigationService.navigate(navigationService.getCurrentPageIndex() - 1); 
        break; 
       // left 
       case 39: 
        $rootScope.navDirection = "left"; 
        navigationService.navigate(navigationService.getCurrentPageIndex() + 1); 
        break; 
      } 
     } 
    }; 

// ... 
+0

Bạn có thể thiết lập Codepen hoạt động của những gì bạn đang làm việc vào lúc này không? –

Trả lời

0

ngAnimate được refactored nội bộ trong phiên bản 1.4. Nó sẽ không chạy cả hai hình ảnh động Javascript và CSS song song. hiệu ứng tương tự có thể đạt được ngay bây giờ bằng cách tiêm $ animateCSS vào các hình động được xác định bằng javascript. Hoạt ảnh động được kích hoạt sẽ luôn luôn kết thúc bất kỳ hoạt ảnh dựa trên lớp học đang hoạt động hoặc đang chờ (sử dụng ngClass).