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的document.write输出的广告无阻塞加载的方法
Jun 05 Javascript
浅谈javascript中字符串String与数组Array
Dec 31 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
May 05 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 Javascript
Vue实现动态响应数据变化
Apr 28 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 Javascript
node的process以及child_process模块学习笔记
Mar 06 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 Javascript
JS函数式编程实现XDM一
Jun 16 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
PHP中文汉字验证码
2007/04/08 PHP
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
非常实用的php验证码类
2016/05/15 PHP
Yii2中datetime类的使用
2016/12/17 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
vue实现分页栏效果
2019/06/28 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
python 如何引入协程和原理分析
2020/11/30 Python
python数据抓取3种方法总结
2021/02/07 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
实习单位接收函
2014/01/11 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
质量负责人任命书
2014/06/06 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
离婚协议书范文2014
2014/10/16 职场文书
西安大雁塔导游词
2015/02/10 职场文书