AngularJS ng-repeat指令及Ajax的应用实例分析


Posted in Javascript onJuly 06, 2017

本文实例讲述了AngularJS ng-repeat指令及Ajax的应用。分享给大家供大家参考,具体如下:

ng-repeat 指令用于循环输出指定次数的 HTML 元素。集合必须是数组或对象。

定义:

<element ng-repeat="expression"></element>

说明:experssion表达式定义了如何循环集合。常用的如:x in records

下面通过一个例子,来说明ng-repeat如何绘制一个表格:

<div ng-app='mainApp' ng-controller='studentController'>
  <table border="0">
    <tr>
      <td>姓</td>
      <td><input type="text" ng-model='student.firstName'></td>
    </tr>
    <tr>
      <td>名</td>
      <td><input type="text" ng-model='student.lastName'></td>
    </tr>
    <tr>
      <td>名字</td>
      <td>{{student.fullName()}}</td>
    </tr>
    <tr>
      <td>科目</td>
      <td>
        <table>
          <tr>
            <th>名字</th>
            <th>标记</th>
          </tr>
          <tr ng-repeat='sub in student.subjects'>
            <td>{{sub.name}}</td>
            <td>{{sub.marks}}</td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</div>

表可以使用CSS样式设置样式。

<style>
  table, th , td {
    border: 1px solid grey;
    border-collapse: collapse;
    padding: 5px;
  }
  table tr:nth-child(odd) {
    background-color: #f2f2f2;
  }
  table tr:nth-child(even) {
    background-color: #ffffff;
  }
</style>

利用angularjs的ng-repeat指令绘制表格:

<script>
  var mainApp=angular.module('mainApp',[]); //定义一个名为mainApp的模块
  mainApp.controller('studentController',function($scope){
    $scope.student={
      firstName:'聂',
      lastName:'鹏飞',
      subjects:[
      {name:'物理',marks:73},
          {name:'化学',marks:90},
          {name:'数学',marks:68},
          {name:'英文',marks:85},
          {name:'生物',marks:77},
      ],
      fullName:function(){
        var studentObject;
        studentObject = $scope.student;
        return studentObject.firstName+' '+studentObject.lastName;
      }
    };
  });
</script>

效果:

AngularJS ng-repeat指令及Ajax的应用实例分析

上面例子表格中展示的数据也可以通过ajax请求从服务器中获取,然后利用ng-repeat指令插入到页面中,具体实现见下面代码:

<html>
<head>
<title>Angular JS Controller</title>
<script src="angularjs/angular-1.3.0/angular.min.js"></script>
<style>
  table, th , td {
    border: 1px solid grey;
    border-collapse: collapse;
    padding: 5px;
  }
  table tr:nth-child(odd) {
    background-color: #f2f2f2;
  }
  table tr:nth-child(even) {
    background-color: #ffffff;
  }
</style>
</head>
<body>
  <h2>AngularJS 表格应用示例</h2>
  <div ng-app='mainApp' ng-controller='studentController'>
    <table border="0">
      <tr>
        <td>姓</td>
        <td><input type="text" ng-model='student.firstName'></td>
      </tr>
      <tr>
        <td>名</td>
        <td><input type="text" ng-model='student.lastName'></td>
      </tr>
      <tr>
        <td>名字</td>
        <td>{{student.fullName()}}</td>
      </tr>
      <tr>
        <td>科目</td>
        <td>
          <table>
            <tr>
              <th>名字</th>
              <th>标记</th>
            </tr>
            <tr ng-repeat='sub in student.subjects'>
              <td>{{sub.name}}</td>
              <td>{{sub.marks}}</td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
  </div>
  <script>
    var mainApp=angular.module('mainApp',[]);
    mainApp.controller('studentController',function($scope,$http){
      $scope.student={
        firstName:'聂',
        lastName:'鹏飞',
        fullName:function(){
          var studentObject;
          studentObject = $scope.student;
          return studentObject.firstName+' '+studentObject.lastName;
        },
      };
      var url="data.txt";
      $http.post(url).success(function(response){
        $scope.student.subjects=response;
      })
    });
  </script>
</body>
</html>

说明:需要放在服务器环境中运行

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
来自qq的javascript面试题
Jul 24 Javascript
js保存当前路径(cookies记录)
Dec 14 Javascript
coffeescript使用的方式汇总
Aug 05 Javascript
使用控制台破解百小度一个月只准改一次名字
Aug 13 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
JavaScript 身份证号有效验证详解及实例代码
Oct 20 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
详解原生js实现offset方法
Jun 15 Javascript
vue组件之间通信方式实例总结【8种方式】
Feb 22 Javascript
Vue + Elementui实现多标签页共存的方法
Jun 12 Javascript
JQuery样式与属性设置方法分析
Dec 07 jQuery
AngularJS常见过滤器用法实例总结
Jul 06 #Javascript
Vue学习之路之登录注册实例代码
Jul 06 #Javascript
AngularJS中ng-class用法实例分析
Jul 06 #Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 #jQuery
JS图片轮播与索引变色功能实例详解
Jul 06 #Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 #jQuery
vue2.0 keep-alive最佳实践
Jul 06 #Javascript
You might like
多广告投放代码 推荐
2006/11/13 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
Node.js模块加载详解
2014/08/16 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
AngularJS语法详解
2015/01/23 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python数据结构之单链表详解
2017/09/12 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
浅析python redis的连接及相关操作
2019/11/07 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
模范家庭事迹材料
2014/02/10 职场文书
公司请假条格式
2014/04/11 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
教师节班会开场白
2015/06/01 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
vue里使用create, mounted调用方法
2022/04/26 Vue.js