码迷,mamicode.com
首页 > Web开发 > 详细

angularjs 路由问题处理收集

时间:2017-09-11 15:11:15      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:错误   asc   event   name   ice   ==   获取   rom   渲染   

Angular 路由状态发生改变时可以通过

 $stateChangeStart 

 $stateChangeSuccess 

 $stateChangeError

监听,通过注入$location‘实现状态的管理

function run($ionicPlatform, $location, Service, $rootScope, $stateParams) { 
  //路由监听事件 
  $rootScope.$on(‘$stateChangeStart‘, 
    function(event, toState, toParams, fromState, fromParams) { 
     console.log(event); 
     console.log(toState); 
     console.log(toParams); 
     console.log(fromState); 
     console.log(fromParams); 
     if (toState.name == "homePage") { 
      //获取参数之后可以调请求判断需要渲染什么页面,渲染不同的页面通过 $location 实现 
      if (toParams.id == 10) { 
       //$location.path();//获取路由地址 
       // $location.path(‘/validation‘).replace(); 
       // event.preventDefault()可以阻止模板解析 
      } 
     } 
    }) 
   // stateChangeSuccess 当模板解析完成后触发 
  $rootScope.$on(‘$stateChangeSuccess‘, function(event, toState, toParams, fromState, fromParams) { 
  
  }) 
  
  // $stateChangeError 当模板解析过程中发生错误时触发 
  $rootScope.$on(‘$stateChangeError‘, function(event, toState, toParams, fromState, fromParams, error) { 
  
  }) 
 }

在页面渲染中 可通过$viewContentLoading 和  $viewContentLoaded监听页面渲染状态:渲染开始和渲染结束。

scope.$watch(‘$viewContentLoading‘,function(event, viewConfig){ 
 alert(‘模板加载完成前‘); 
}); 
//$viewContentLoaded- 当视图加载完成,DOM渲染完成之后触发,视图所在的$scope发出该事件。 
$scope.$watch(‘$viewContentLoaded‘,function(event){ 
  alert(‘模板加载完成后‘); 
});

angularjs 路由问题处理收集

标签:错误   asc   event   name   ice   ==   获取   rom   渲染   

原文地址:http://www.cnblogs.com/dangou/p/7504839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!