首页 > 代码库 > Angular 监听路由变化事件

Angular 监听路由变化事件

摘要: $stateChangeStart- 当模板开始解析之前触发 $rootScope.$on(‘$stateChangeStart‘, function(event, toState, toParams, fromState, fromParams){ ... })

app.run([‘$rootScope‘, ‘$location‘ ,‘$cookieStore‘, ‘$state‘, ‘CacheManager‘,  function($rootScope, $location, $cookieStore, $state,CacheManager){
//监听路由事件

        $rootScope.$on(‘$stateChangeStart‘,

            function(event, toState, toParams, fromState, fromParams){

                if(toState.name=="tabs.post"&&fromState.name=="tabs.orderList"){

                     //$location.path();//获取路由地址

                    $location.path(‘/tabs/home‘);//设置路由地址

                }

        })

}]);

ps:

使用event.preventDefault()可以阻止模板解析的发生

 $rootScope.$on(‘$stateChangeStart‘,

            function(event, toState, toParams, fromState, fromParams){

                event.preventDefault();

        })

 

$stateChangeSuccess- 当模板解析完成后触发

$stateChangeError- 当模板解析过程中发生错误时触发

$viewContentLoading- 当视图开始加载,DOM渲染完成之前触发,该事件将在$scope链上广播此事件

$viewContentLoaded- 当视图加载完成,DOM渲染完成之后触发,视图所在的$scope发出该事件。

  

参考原文:https://my.oschina.net/jack088/blog/479466

 

  

  

Angular 监听路由变化事件