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 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
Jan 07 Javascript
jquery实现表单验证并阻止非法提交
Jul 09 Javascript
JavaScript、jQuery与Ajax的关系
Jan 24 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
js 判断一组日期是否是连续的简单实例
Jul 11 Javascript
Angular 应用技巧总结
Sep 14 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 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几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
js获取变量
2006/08/24 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
python能做哪方面的工作
2020/06/15 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
会计与审计毕业生自荐信范文
2013/12/30 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
销售口号大全
2014/06/11 职场文书
十佳青年事迹材料
2014/08/21 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
python实现双向链表原理
2022/05/25 Python