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 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
javascript 隔行换色函数代码
Oct 24 Javascript
jQuery对表单的操作代码集合
Apr 06 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
超链接怎么正确调用javascript函数
May 23 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
Apr 11 Javascript
vue如何集成raphael.js中国地图的方法示例
Aug 15 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
Aug 20 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模糊查询的实现方法(推荐)
2016/09/06 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
使用JS动态显示文本
2017/09/09 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python实现贪吃蛇小游戏
2020/03/21 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
六查六看心得体会
2014/10/14 职场文书
安全教育主题班会总结
2015/08/14 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers