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制作迷你背词汇工具
Jul 27 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
Jan 11 Javascript
jquery实现table鼠标经过变色代码
Sep 25 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
JS实现的汉字与Unicode码相互转化功能分析
May 25 Javascript
微信小程序开发注意指南和优化实践(小结)
Jun 21 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
Sep 04 Javascript
使用JavaScript获取Django模板指定键值数据
May 27 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&amp;&amp;mysql)五
2006/10/09 PHP
谈谈PHP的输入输出流
2007/02/14 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
php 地区分类排序算法
2013/07/01 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
Python学习笔记(二)基础语法
2014/06/06 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
Python实现像awk一样分割字符串
2020/09/15 Python
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
大学生个人总结的自我评价
2013/10/05 职场文书
机械专业毕业生推荐信范文
2013/11/25 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
小学课外阅读总结
2014/07/09 职场文书
社区重阳节活动总结
2015/03/24 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js
python实现商品进销存管理系统
2022/05/30 Python