AngularJS入门教程一:路由用法初探


Posted in Javascript onMay 27, 2017

本文实例讲述了AngularJS路由用法。分享给大家供大家参考,具体如下:

目前的理解中,这个NG的路由模块可以用于带有多视图的单页面开发。

先把所有代码贴出:

HTML:

<!doctype html>
<meta charset="UTF-8">
<html>
<head>
  <link href="self.css" rel="external nofollow" rel="stylesheet">
</head>
<body ng-app='routingDemoApp'>
<h2>AngularJS 路由应用</h2>
<ul>
  <li><a href="#/" rel="external nofollow" >首页</a></li>
  <li><a href="#/computers" rel="external nofollow" >电脑</a></li>
  <li><a href="#/user" rel="external nofollow" >用户</a></li>
  <li><a href="#/blabla" rel="external nofollow" >其他</a></li>
</ul>
<div ng-view></div>
<script src="angular.min.js"></script>
<script src="angular-route.min.js"></script>
<script src="test.js"></script>
</body>
</html>

list.html:

<div>
  <h1>HI,这里是list.html</h1>
  <h2>{{name}}</h2>
</div>

JS:

var app = angular.module('routingDemoApp',['ngRoute']);
app.config(['$routeProvider', function($routeProvider){
    $routeProvider
      .when('/',{template:'这是首页页面'})
      .when('/computers',{
        template:'这是电脑分类页面'
      })
      .when('/user',{templateUrl:'list.html',controller:'listController'})
      .otherwise({redirectTo:'/'});
}]);
app.controller('listController',function($scope){
  $scope.name="ROSE";
});

首先由于我用的是Angular1.5,所以需要额外引入angular-route.js:

<script src="angular.min.js"></script>
<script src="angular-route.min.js"></script>

要使用NG里的路由,必须先在特定的模块中定义它:

.config(['$routeProvider', function($routeProvider){
//内容
}

通过when和otherwise两个方法来进行路由的匹配。(其实就是匹配上面URL后面/的字符)。最后把匹配到的字符所对应的字段或者文件放入带有ng-view 指令的DOM里面。

when里面有许多属性。里面可以设置控制器,控制器会匹配给对应的字段或文件。就像上面代码中listController控制器一样。

ng-view指令有许多规则:

在匹配路由时:

1、创建一个新的当前作用域。
2、删除前一个作用域。
3、将当前的模板(控制器等)与当前新建的作用域关联起来。
4、如果有内置关联的控制器,将其与当期作用域关联起来。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
js CSS操作方法集合
Oct 31 Javascript
JavaScript面向对象之体会[总结]
Nov 13 Javascript
javascript 硬盘序列号+其它硬件信息
Dec 23 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
几句话带你理解JS中的this、闭包、原型链
Sep 26 Javascript
jQuery插件之validation插件
Mar 29 jQuery
原生JS控制多个滚动条同步跟随滚动效果
Dec 22 Javascript
React 实现拖拽功能的示例代码
Jan 06 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 Javascript
vue实现表格合并功能
Dec 01 Vue.js
Angular 4环境准备与Angular cli创建项目详解
May 27 #Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 #Javascript
Angularjs自定义指令Directive详解
May 27 #Javascript
react-redux中connect()方法详细解析
May 27 #Javascript
react-router实现跳转传值的方法示例
May 27 #Javascript
简单实现JavaScript弹幕效果
Aug 27 #Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 #Javascript
You might like
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
显示、隐藏密码
2006/07/01 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
Python简单日志处理类分享
2015/02/14 Python
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
Python小进度条显示代码
2019/03/05 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
重构Python代码的六个实例
2020/11/25 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
大型演出策划方案
2014/05/28 职场文书
个人委托函范文
2015/01/29 职场文书
高中社区服务活动报告
2015/02/05 职场文书
投资合作意向书范本
2015/05/08 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers