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 相关文章推荐
jQuery 使用手册(五)
Sep 23 Javascript
javascript获取URL参数与参数值的示例代码
Dec 20 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
js style.display=block显示布局错乱问题的解决方法
Sep 21 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 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模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python递归遍历列表及输出的实现方法
2015/05/19 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
python实现单链表的方法示例
2019/09/03 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
高中毕业自我鉴定
2013/12/13 职场文书
服装创业计划书范文
2014/02/05 职场文书
django 认证类配置实现
2021/11/11 Python
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android
JavaScript前端面试组合函数
2022/06/21 Javascript