0

新しい ngAnimate はハードコードされたクラスで動作します:

<div ng-view class="forward"></div>

.forward.ng-enter {
  -webkit-animation: from_right 10s ease;
}

動的クラスではありません:

<div ng-view ng-class="{'forward': true}"></div>

入るときと出るときのアニメーションを動的に切り替えるにはどうすればよいですか (電話のウィザードで進むと戻るなど)。

4

1 に答える 1

0

私はまったく同じことをしようとしているので、文字通り、このまったく同じ問題を理解しようとして 5 時間を費やしました。結局のところ、これは rc1 のバグでした。これが現在 rc2 にあるプル リクエストです。

基本的に、クラスが解釈される前に ngAnimate が実行されていましたが、現在は修正されています。あなたの例は今すぐ動作するはずです:

<div ng-view ng-class="{ 'foo': bar }"></div>

または、通常のクラス属性を使用して、さまざまなコントローラーのモデルの特定の文字列にバインドすることもできます (たとえば、ルーティング時にビューごとに個別のコントローラーがある場合)。

<div ng-view class="foo"></div>

次に、JavaScript で次のようにします。

angular.module('app', []);

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/one', { templateUrl: '/one.html', controller: 'viewOneCtrl' })
        .when('/two', { templateUrl: '/two.html', controller: 'viewTwoCtrl' });
}]);

app.controller('viewOneCtrl', ['$scope', function($scope) {
    $scope.foo = 'view-one';
}]);

app.controller('viewTwoCtrl', ['$scope', function($scope) {
    $scope.foo = 'view-two';
}]);
于 2013-09-10T21:35:55.953 に答える