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 相关文章推荐
js调用iframe实现打印页面内容的方法
Mar 04 Javascript
使用 stylelint检查CSS_StyleLint
Apr 28 Javascript
JS创建事件的三种方法(实例代码)
May 12 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
详解jQuery中基本的动画方法
Dec 14 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
Vue.js实现的计算器功能完整示例
Jul 11 Javascript
js canvas画布实现高斯模糊效果
Nov 27 Javascript
简单聊聊TypeScript只读修饰符
Apr 06 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遍历目录与文件夹的多种方法详解
2013/11/14 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
jQuery表单选择器用法详解
2019/08/22 jQuery
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
总经理岗位职责
2013/11/09 职场文书
元旦获奖感言
2014/03/08 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
设备管理实施方案
2014/05/31 职场文书
节约用电标语
2014/06/17 职场文书
药品开票员岗位职责
2015/04/15 职场文书
庆元旦主持词
2015/07/06 职场文书
Nginx快速入门教程
2021/03/31 Servers
mysql查询的控制语句图文详解
2021/04/11 MySQL