10

我对 AngularJS 比较陌生。

当路由改变时,ng-view 改变内容。我希望能够做的是在路线改变时挂钩某些行为。

  1. 例如,我希望能够为我们要离开的视图设置动画(淡出,并向左滑动),当下一个视图可用时,淡入淡出并将视图滑入。这可以通过添加一个类来实现在路由加载时正文,并在路由更改成功时删除一个类

  2. 我希望能够将视图堆叠在当前视图的右侧,这样当一个视图向前移动时,下一个视图首先加载到当前视图的右侧,然后视口向右滑动,因此当前视图视图几乎滑出视图,下一个滑入视图(Windows 手机就像画布外导航)

$routeProvider 是执行此操作的正确位置吗?

有没有大师可以为我指明正确的方向?

4

2 回答 2

12

经过更多研究,为此目的触发了一些事件。

$scope.$on('$routeChangeStart', function(scope, next, current){
   //...
});

$scope.$on('$routeChangeSuccess', function(scope, next, current){
   //...
});

如果一个问题是动画某些东西(例如路线更改),我建议使用 ngAnimate。在此处阅读有关它的更多信息

于 2013-02-21T18:15:04.250 回答
3

您可以在根范围级别安装监视以捕获位置变化:

$rootScope.$watch(function {
   return $location.path();
   },  
   function(newValue, oldValue) {  
      if (newValue != oldvalue) {
         // here you can do your tasks
      }
      else {
      }
   },
   true);
于 2013-02-15T11:39:43.737 回答