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 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
javascript实现tabs选项卡切换效果(扩展版)
Mar 19 Javascript
JavaScript的null和undefined区别示例介绍
Sep 15 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
如何检测JavaScript的各种类型
Jul 30 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
JS创建自定义对象的六种方法总结
Dec 15 Javascript
TS 类型收窄教程示例详解
Sep 23 Javascript
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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php curl模拟post请求小实例
2013/11/13 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python模拟表单提交登录图书馆
2018/04/27 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
详解python中的模块及包导入
2019/08/30 Python
python 表格打印代码实例解析
2019/10/12 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
python中最小二乘法详细讲解
2021/02/19 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
介绍下static、final、abstract区别
2015/01/30 面试题
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
离婚协议书格式
2015/01/26 职场文书
新店开张宣传语
2015/07/13 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang