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 相关文章推荐
JQUERY 浏览器判断实现函数
Aug 20 Javascript
我的javascript 函数链之演变
Apr 07 Javascript
新发现一个骗链接的方法(js读取cookies)
Jan 11 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
Aug 12 Javascript
JavaScript使用focus()设置焦点失败的解决方法
Sep 03 Javascript
node.js中的fs.chmodSync方法使用说明
Dec 18 Javascript
javascript检测两个数组是否相似
May 19 Javascript
jquery验证手机号是否正确实例讲解
Nov 17 Javascript
jquery 手势密码插件
Mar 17 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
Jul 11 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
Jun 28 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
php实现websocket实时消息推送
2018/03/30 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
Python中生成Epoch的方法
2017/04/26 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python extract及contains方法代码实例
2020/09/11 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
个人借款担保书
2014/04/02 职场文书
办公室主任岗位职责
2015/01/31 职场文书
英语教师个人工作总结
2015/02/09 职场文书
辞职信格式模板
2015/02/27 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技