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 字符串连接[性能比较]
May 10 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
Dec 07 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
angular实现form验证实例代码
Jan 17 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
详解React 在服务端渲染的实现
Nov 16 Javascript
JS遍历DOM文档树的方法实例详解
Apr 03 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
Aug 30 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
Aug 04 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
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
python2.7的编码问题与解决方法
2016/10/04 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
员工工作能力评语
2014/12/31 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
小学六年级毕业感言
2015/07/30 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书