我在角度动画方面遇到了一个奇怪的问题。我正在制作一个在屏幕之间转换并根据屏幕的“深度”改变方向的动画。
棘手的部分是有两个部分,一个是静态的,一个是移动的,这就是为什么我要这样实现它。您可以看到第一次工作正常,第二次工作不正常。ng-enter 不能很好地转换。
在这里你可以看到 plunker:
我在角度动画方面遇到了一个奇怪的问题。我正在制作一个在屏幕之间转换并根据屏幕的“深度”改变方向的动画。
棘手的部分是有两个部分,一个是静态的,一个是移动的,这就是为什么我要这样实现它。您可以看到第一次工作正常,第二次工作不正常。ng-enter 不能很好地转换。
在这里你可以看到 plunker:
我已经解决了这个问题,我怀疑这个问题ltr
与rtl
在$routeChangeStart
. 似乎 ngView 动画在$routeChangeStart
类插值之前开始,所以在动画进行时已经$routeChangeStart
改变了类并且所有的混乱都爆发了。
我有一个工作示例,我将ltr
and移到了rtl
您的控制器方法$scope.goTo
中。理想情况下,您应该将其移至单独的服务中。我还稍微更新了你的 CSS。
.controller('NewCtrl', function ($scope, $location, $rootScope, $route) {
$scope.goTo = function (route) {
var next = $route.routes[route];
$rootScope.viewDirection = 'ltr';
if ($route.current && next && ($route.current.depth > next.depth)) {
$rootScope.viewDirection = 'rtl';
}
$location.path(route);
}
});