AngularJS使用路由切换视图

前端之家收集整理的这篇文章主要介绍了AngularJS使用路由切换视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

AngularJS使用路由切换视图,下面是一个简单的学生信息管理实例。

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

1、创建index.html主视图

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

  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" ng-app="StuApp">
  3. <head>
  4. <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>学生信息</title>
  6. <script src="/Scripts/angular.min.js"></script>
  7. <script src="/Scripts/angular-route.min.js"></script>
  8. <script src="controllers.js"></script>
  9. </head>
  10. <body>
  11. <h1>学生信息</h1>
  12. <div ng-view></div>
  13. </body>
  14. </html>

2、创建list.html列表视图

  1. <table>
  2. <tr>
  3. <th>学号</th>
  4. <th>姓名</th>
  5. <th>性别</th>
  6. <th>年龄</th>
  7. </tr>
  8. <tr ng-repeat="student in StudentList">
  9. <td>{{student.id}}</td>
  10. <td><a ng-href="#/view/{{student.id}}">{{student.name}}</a></td>
  11. <td>{{student.sex}}</td>
  12. <td>{{student.age}}</td>
  13. </tr>
  14. </table>

3、创建detail.html详细视图

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

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

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

猜你在找的Angularjs相关文章