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下用eval生成JSON对象
Sep 17 Javascript
jQuery对下拉框,单选框,多选框的操作
Feb 21 Javascript
javascript教程:关于if简写语句优化的方法
May 17 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
js实现简单数字变动效果
Nov 06 Javascript
微信小程序点击保存图片到本机功能
Dec 13 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
Sep 22 Javascript
vue穿梭框实现上下移动
Jan 29 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 adodb连接不同数据库
2009/03/19 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
xtree.js 代码
2007/03/13 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python实现输入数字的连续加减方法
2018/06/22 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python实现控制台输出彩色字体
2020/04/05 Python
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
庆元旦广播稿
2014/02/10 职场文书
大学生个人自荐信
2014/02/24 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
司仪主持词两篇
2014/03/22 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js