我正在使用 AngularJS 1.1.5 并尝试使用 daneden 的 animate.css 的 ng-animate 指令。我有几个使用路由设置的视图。我正在使用 Twitter Bootstrap 3 RC1。
这是 ng-view 的代码:
<div class="container" ng-view ng-animate="{enter:'animated fadeInRightBig', leave:'animated fadeOutLeft'}"></div>
这是路由部分:
$routeProvider
.when('/', {
templateUrl: '/Home/Home',
title: 'Home'
})
.when('/Home/Home', {
templateUrl: '/Home/Home',
title: 'Home'
})
.when('/Home/About', {
templateUrl: '/Home/About',
title: 'About'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(false).hashPrefix('!');
动画有效(即,我看到了动画效果)并且视图也发生了变化。
我遇到的问题是“离开”视图似乎仍在占用空间,而“进入”视图正在动画。
效果是新视图的进入动画发生在离开视图先前占用的空间下方。就好像旧视图仍然存在,即使它已经“动画出来”了。一旦动画完成,新视图就会突然跳到正确的位置。我使用fadeInRightBig 进入,使用fadeOutLeft 离开。
如何解决这个问题?预期的结果是没有抖动的平滑过渡,就像幻灯片 1 到 3 中的 ng-switch 动画一样。(当然,我使用的是 ng-view。)
谢谢!
编辑:
我收回它,当“进入”动画正在运行时,“离开”动画还没有完全完成。
所以我想我的问题会有所改变。但预期的结果是一样的。如何实现平滑的“滑动”效果?