在AngularJS中更改路径(动画,加载器等)时触发回调

时间:2013-02-15 08:34:20

标签: angularjs angularjs-directive

我是AngularJS的新手。

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

  1. 我希望能够为我们的视图制作动画 离开(淡出,向左滑动)和下一个视图 随时可用,淡入淡出并滑动视图。 这可以通过在路由加载时向body添加类,并在路由更改成功时删除类来实现

  2. 我希望能够将视图叠加在右侧 当前视图,以便当一个向前移动时,下一个视图是 首先加载到当前视图的右侧,然后视口向右滑动,以便当前视图几乎滑出 查看,下一个幻灯片进入视图(窗口电话像画布导航)

  3. $ routeProvider是否适合这样做?

    那里有没有可以指引我朝正确方向前进的大师?

2 个答案:

答案 0 :(得分:12)

经过一些研究后,为此目的发生了一些事件。

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

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

如果问题是要动画某些东西(例如路线更改),我建议使用ngAnimate。 详细了解here

答案 1 :(得分:3)

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

$rootScope.$watch(function {
   return $location.path();
   },  
   function(newValue, oldValue) {  
      if (newValue != oldvalue) {
         // here you can do your tasks
      }
      else {
      }
   },
   true);