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使用中为什么10..toString()正常而10.toString()出错呢
Jan 11 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
jquery实现可拖拽弹出层特效
Jan 04 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 Javascript
JavaScript计算某一天是星期几的方法
Aug 05 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
Mar 06 Javascript
es6系列教程_ Map详解以及常用api介绍
Sep 25 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
Aug 14 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
vue router 动态路由清除方式
May 25 Vue.js
同步异步动态引入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计划任务、定时执行任务的实现代码
2011/04/23 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
PHP时间类完整代码实例
2021/02/26 PHP
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
python自带的http模块详解
2016/11/06 Python
TensorFlow实现Logistic回归
2018/09/07 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
优秀员工自荐书
2013/12/19 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
环保标语口号
2014/06/13 职场文书
2014年教师学期工作总结
2014/11/08 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
三孔导游词
2015/02/05 职场文书
酒店辞职书范文
2015/02/26 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
python编程实现清理微信重复缓存文件
2021/11/01 Python
python实现商品进销存管理系统
2022/05/30 Python