1

ngAnimate在具有定义的单页应用程序中:

var app= angular.module("demoApp", ['ngRoute','ngAnimate']);

是否可以设置一些带有 x 转换的路由页面和其他带有 y 转换的路由页面?

我想混合过渡。

更新 1

这个提议:

 $scope.$on('$routeChangeStart', function(event, next, current) {
        var newPath = next.$$route.originalPath;
        ...
        $("#elementID").removeClass('view-animate');
    });

我试过了,但没有用。无论我对元素做了什么,即使像我在示例代码中所做的那样删除类,相同的转换总是会触发。

4

1 回答 1

2

理论上应该是可以的。您需要做的是在路由开始时更改容器的类。您可以为此编写自己的指令。代码将类似于

scope.$on('$routeChangeStart', function(event, next, current) {
    var newPath = next.$$route.originalPath;
    // determine the class based on the path
    // set the class on the ng-view div
    // or toggle one class if you need only two different transitions
    element.toggleClass(transitionClass);

在您的 CSS 中,您可以为这些类定义不同的转换。需要记住的一件事是,这会同时影响进入和离开动画。

于 2014-01-10T20:06:32.987 回答