这是我一直在玩的一个概念,并且能够在视图中为一些转发器元素工作。我还没有到动画的地步ng-view
……但应该给你一个很好的起点。
概念是ng-animate
在每个路由配置中存储一个对象。您可以将范围对象传递给ng-animate
不需要表达式。
function Ctrl($scope){
$scope.ANIM={enter: 'animate-enter', leave: 'animate-leave'};
}
<li ng-animate="ANIM">
在配置中:
$routeProvider.when('/foo', {
controller: 'Ctrl',
templateUrl:'view1.html',
anim:{enter: 'skew-enter', leave: 'skew-leave'}
})
然后从当前路由配置中run()
监听并获取动画$routeChangeStart
app.run(function($rootScope){
$rootScope.anim={enter: 'animate-enter', leave: 'animate-leave'}
$rootScope.$on('$routeChangeStart', function(event, current){
$rootScope.anim= current.anim
})
})
在我的沙盒版本中,我这样做:
function Ctrl($scope, $rootScope){
$scope.ANIM=$rootScope.anim;
}
再次......这仍处于概念验证阶段。当我有 2 个具有相同 ng-animate 的视图并在每个控制器内使其$scope.anim=$rootScope.anim
工作时。
希望这会有所帮助...好奇你是否对它做更多的事情