AngularJS实现使用路由切换视图的方法


Posted in Javascript onJanuary 24, 2017

本文实例讲述了AngularJS实现使用路由切换视图的方法。分享给大家供大家参考,具体如下:

下面是一个简单的学生信息管理实例。

注意:除了引用angular.js之外,还要引用angular-route.js。

1、创建index.html主视图

在index.html主视图中,我们将会把多个视图共有的东西都放在里面,例如菜单。在这个例子中,我们仅仅把应用的标题放在里面,然后再用ng-view指令来告诉Angular把视图显示在哪儿。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="StuApp">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>学生信息</title>
  <script src="/Scripts/angular.min.js"></script>
  <script src="/Scripts/angular-route.min.js"></script>
  <script src="controllers.js"></script>
</head>
<body>
  <h1>学生信息</h1>
  <div ng-view></div>
</body>
</html>

2、创建list.html列表视图

<table>
  <tr>
    <th>学号</th>
    <th>姓名</th>
    <th>性别</th>
    <th>年龄</th>
  </tr>
  <tr ng-repeat="student in StudentList">
    <td>{{student.id}}</td>
    <td><a ng-href="#/view/{{student.id}}">{{student.name}}</a></td>
    <td>{{student.sex}}</td>
    <td>{{student.age}}</td>
  </tr>
</table>

3、创建detail.html详细视图

<div>
  <div><strong>学号:</strong>{{Student.id}}</div>
  <div><strong>姓名:</strong>{{Student.name}}</div>
  <div><strong>性别:</strong>{{Student.sex}}</div>
  <div><strong>年龄:</strong>{{Student.age}}</div>
  <a href="#/">返回</a>
</div>

4、创建controllers.js控制器脚本

//创建模块
var StuServices = angular.module("StuApp", ['ngRoute']);
//在URL、模板和控制器之前建立映射关系
function StuRouteConfig($routeProvider) {
  $routeProvider.when('/', {
    controller: 'ListController',
    templateUrl: 'list.html'
  }).when('/view/:id', {
    controller: 'DetailController',
    templateUrl: 'detail.html'
  }).otherwise({ redirectTo: '/' });
}
//配置路由,以便学生服务能够找到它
StuServices.config(StuRouteConfig);
//一些虚拟的学生信息
StudentList = [{ id: 0, name: '张三', sex: '男', age: 18 },
  { id: 1, name: '李四', sex: '女', age: 15 },
  { id: 2, name: '王五', sex: '男', age: 16 }
];
//列表模板
StuServices.controller("ListController", function ($scope) {
  $scope.StudentList = StudentList;
})
//详细模块:从路由信息(从URL中解析出来的)中获取邮件id,然后用它找到正确的邮件对象
StuServices.controller("DetailController", function ($scope, $routeParams) {
  $scope.Student = StudentList[$routeParams.id];
})

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
javascript上传图片前预览图片兼容大多数浏览器
Oct 25 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
理解JavaScript中worker事件api
Dec 25 Javascript
js判断出两个字符串最大子串的函数实现方法
Nov 01 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
Aug 20 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
Jan 07 Javascript
javascript 正则表达式去空行方法
Jan 24 #Javascript
JavaScript中动态向表格添加数据
Jan 24 #Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 #Javascript
ajax分页效果(bootstrap模态框)
Jan 23 #Javascript
jquery easyui DataGrid简单示例
Jan 23 #Javascript
浅谈javascript的闭包
Jan 23 #Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
Jan 23 #Javascript
You might like
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
python实现周期方波信号频谱图
2018/07/21 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
大学生大二自我鉴定
2013/10/28 职场文书
大专毕业生自我评价分享
2013/11/10 职场文书
装潢设计专业推荐信模板
2013/11/26 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
公司聚餐通知
2015/04/22 职场文书
社会实践单位意见
2015/06/05 职场文书
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang