AngularJS监听路由变化的方法

 更新时间:2017年03月07日 11:09:06   作者:浅岸  
本篇文章主要介绍了AngularJS监听路由变化的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

使用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是否也可以用,还没尝试过,有机会验证了再记录下咯~~

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

相关文章

  • Angular2 路由问题修复详解

    Angular2 路由问题修复详解

    这篇文章主要介绍了Angular2 路由问题修复详解的相关资料,并建了一个测试工程,把详细的过程分享给大家,需要的朋友可以参考下
    2017-03-03
  • AnglarJs中的上拉加载实现代码

    AnglarJs中的上拉加载实现代码

    上拉加载,是目前手机网站加载数据的一种常用方式,本文主要讲解AnglarJs集成,上拉加载功能。感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-02-02
  • angular route中使用resolve在uglify压缩后问题解决

    angular route中使用resolve在uglify压缩后问题解决

    这篇文章主要介绍了angular route中使用resolve在uglify压缩后问题解决的相关资料,需要的朋友可以参考下
    2016-09-09
  • 前后端如何实现登录token拦截校验详解

    前后端如何实现登录token拦截校验详解

    这篇文章主要给大家介绍了关于前后端如何实现登录token拦截校验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Angular2学习教程之组件中的DOM操作详解

    Angular2学习教程之组件中的DOM操作详解

    这篇文章主要给大家介绍了Angular2学习教程之组件中DOM操作的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来看看吧。
    2017-05-05
  • Angular6升级到Angular8报错问题的解决合集

    Angular6升级到Angular8报错问题的解决合集

    这篇文章主要介绍了Angular6升级到Angular8报错问题的解决合集,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 基于AngularJS+HTML+Groovy实现登录功能

    基于AngularJS+HTML+Groovy实现登录功能

    AngularJS是一款客户端MVC的javascript框架,而客户端MVC代表未来架构(为什么要使用MVC+REST+CQRS架构),如果你有Struts或SpringMVC等后端MVC框架编程经验,学习Angular会很快,基本是按照同一个MVC思路实现的,本文给大家介绍AngularJS+HTML+Groovy实现登录功能
    2016-02-02
  • AngularJs定制样式插入到ueditor中的问题小结

    AngularJs定制样式插入到ueditor中的问题小结

    这篇文章主要介绍了AngularJs定制样式插入到ueditor中的问题小结的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Angular @HostBinding()和@HostListener()用法

    Angular @HostBinding()和@HostListener()用法

    本篇文章主要介绍了Angular @HostBinding()和@HostListener()用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    在Angular的原生指令中有这几个指令用来控制元素的展示与否,ng-show/ng-hide/ng-if和ng-switch。在angular性能优化中,我们也常常会用到它。这篇文章主要给大家介绍了在Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程,需要的朋友可以参考。
    2017-05-05

最新评论