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 相关文章推荐
js生成随机数之random函数随机示例
Dec 20 Javascript
使用Jquery实现每日签到功能
Apr 03 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
ES6中非常实用的新特性介绍
Mar 10 Javascript
微信小程序  Mustache语法详细介绍
Oct 27 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
jQuery实现图片滑动效果
Mar 08 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
Angular5集成eventbus的示例代码
Jul 19 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
JS实现canvas简单小画板功能
Jun 23 Javascript
vue组件暴露和.js文件暴露接口操作
Aug 11 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&amp;mysql(四)
2006/10/09 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
javaScript基础详解
2017/01/19 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
详解Python中的文本处理
2015/04/11 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
Python创建字典的八种方式
2019/02/27 Python
小学家长会邀请函
2014/01/23 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
医院见习报告范文
2014/11/03 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
Python中的套接字编程是什么?
2021/06/21 Python
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python