AngularJS监听路由变化的方法


Posted in Javascript onMarch 07, 2017

使用AngularJS时,当路由发生改变时,我们需要做某些处理,此时可以监听路由事件,常用的是$routeStartChange, $routeChangeSuccess。完整例子如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>AngularJS监听路由变化</title>
</head>
<body ng-app="ngRouteExample">
  <div id="navigation"> 
   <a href="#/home" rel="external nofollow" >Home</a>
   <a href="#/about" rel="external nofollow" >About</a>
  </div>
   
  <div ng-view></div>

  <script type="text/ng-template" id="home.html">
   <h1> Home </h1>
   <table>
    <tbody>
     <tr ng-repeat="x in records" style="background:#abcdef;">
      <td>{{x.Name}}</td>
      <td>{{x.Country}}</td> 
     </tr>     
    </tbody>
   </table>
  </script>

  <script type="text/ng-template" id="about.html">
   <h1> About </h1>
   <p>在输入框中尝试输入:</p>
   <p>姓名:<input type="text" ng-model="name"></p>
   <p>你输入的为: {{name}}</p>
  </script>

  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
  <script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script>
  <script type="text/javascript">
  angular.module('ngRouteExample', ['ngRoute'])
  .config(function ($routeProvider) {
    $routeProvider.
    when('/home', {
      templateUrl: 'home.html',
      controller: 'HomeController'
    }).
    when('/about', {
      templateUrl: 'about.html',
      controller: 'AboutController'
    }).
    otherwise({
      redirectTo: '/home'
    });
  })
  .run(['$rootScope', '$location', function($rootScope, $location) {
    /* 监听路由的状态变化 */
    $rootScope.$on('$routeChangeStart', function(evt, next, current){
     console.log('route begin change');
    }); 
    $rootScope.$on('$routeChangeSuccess', function(evt, current, previous) {
     console.log('route have already changed :'+$location.path());
    }); 
  }])
  .controller('HomeController', function ($scope) { 
    $scope.records = [{
     "Name" : "Alfreds Futterkiste",
     "Country" : "Germany"
    },{
     "Name" : "Berglunds snabbköp",
     "Country" : "Sweden"
    },{
     "Name" : "Centro comercial Moctezuma",
     "Country" : "Mexico"
    },{
     "Name" : "Ernst Handel",
     "Country" : "Austria"
    }]
  })    
  .controller('AboutController', function ($scope) { 
   $scope.name = '呵呵';
  });
</script>  
</body>
</html>

上述的例子是AngularJS 1的,对于Angular2是否也可以用,还没尝试过,有机会验证了再记录下咯~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
js获得鼠标的坐标值的方法
Mar 13 Javascript
javascript读写json示例
Apr 11 Javascript
用javascript对一个json数组深度赋值示例
Jul 27 Javascript
javascript实现可全选、反选及删除表格的方法
May 15 Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
JavaScript轮播图简单制作方法
Feb 20 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
JS中的一些常用的函数式编程术语
Jun 15 Javascript
linux服务器快速卸载安装node环境(简单上手)
Feb 22 Javascript
微信小程序开发之入门实例教程篇
Mar 07 #Javascript
JavaScript实现替换字符串中最后一个字符的方法
Mar 07 #Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 #Javascript
jQuery模拟下拉框选择对应菜单的内容
Mar 07 #Javascript
详解JS异步加载的三种方式
Mar 07 #Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 #Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 #Javascript
You might like
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
angular十大常见问题
2017/03/07 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python之py2exe打包工具详解
2017/06/14 Python
python中列表和元组的区别
2017/12/18 Python
python实现电脑自动关机
2018/06/20 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
马云的职业生涯规划之路
2014/01/01 职场文书
主办会计岗位职责
2014/03/13 职场文书
环卫处个人工作总结
2015/03/04 职场文书
自我推荐信怎么写
2015/03/24 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
企业文化学习心得体会
2016/01/21 职场文书
创业计划书之美容店
2019/09/16 职场文书
python如何在word中存储本地图片
2021/04/07 Python
react如何快速设置文件路径别名
2021/04/28 Javascript