AngularJS监听路由的变化示例代码


Posted in Javascript onSeptember 23, 2016

话不多说,我们下面直接来看实现的示例代码

【一】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) { 
 
  }) 
 }

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

(在控制器中添加以下代码实现监听)

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

总结

以上就是这篇文章的全部内容,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
javaScript - 如何引入js代码
Mar 09 Javascript
javascript+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
JS学习之一个简易的日历控件
Mar 24 Javascript
Javascript之Date对象详解
Jun 07 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
Sep 21 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
Nov 09 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
JS实现百度搜索框关键字推荐
Feb 17 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
Aug 20 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 #Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 #Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 #Javascript
form表单转Json提交的方法(推荐)
Sep 23 #Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 #Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
Sep 23 #Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 #Javascript
You might like
php设计模式  Command(命令模式)
2011/06/17 PHP
php数据库备份还原类分享
2014/03/20 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
电大毕业生自我鉴定
2014/04/10 职场文书
党风廉政建设责任书
2014/04/14 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
文明礼仪主题班会
2015/08/13 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
python turtle绘图
2022/05/04 Python