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 相关文章推荐
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
setTimeout的延时为0时多个浏览器的区别
May 23 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
jquery中attr和prop的区别分析
Mar 16 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
Aug 20 Javascript
Json按某个键的值进行排序
Dec 22 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
vue中使用cropperjs的方法
Mar 01 Javascript
mpvue微信小程序开发之实现一个弹幕评论
Nov 24 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
vue项目中微信登录的实现操作
Sep 08 Javascript
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中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
php中的观察者模式简单实例
2015/01/20 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
Vue组件开发初探
2017/02/14 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
python绘制评估优化算法性能的测试函数
2019/06/25 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
班组长安全生产职责
2013/12/16 职场文书
北体毕业生求职信
2014/02/28 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
企业法人授权委托书
2014/04/03 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js