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压缩混淆工具
May 16 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
easyui validatebox验证
Apr 29 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 Javascript
jQuery中库的引用方法
Jan 06 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 jQuery
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
js常见表单应用技巧
2008/01/09 Javascript
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
店长职务说明书
2014/02/04 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
软环境建设心得体会
2014/09/09 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
Python类方法总结讲解
2021/07/26 Python