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实现在Repeater控件中创建可隐藏区域的代码
Sep 16 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
Oct 24 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
深入理解JS的事件绑定、事件流模型
May 13 Javascript
小程序server请求微信服务器超时的解决方法
May 21 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
php 邮件发送问题解决
2014/03/22 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Python之re操作方法(详解)
2017/06/14 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
汉语言文学毕业生求职信
2013/10/01 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
运动会口号8字
2014/06/07 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫