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 相关文章推荐
js实现选中复选框文字变色的方法
Aug 14 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
通过javascript进行UTF-8编码的实现方法
Jun 27 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
bootstrap suggest搜索建议插件使用详解
Mar 25 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
Vue事件修饰符native、self示例详解
Jul 09 Javascript
javascript实现时钟动画
Dec 03 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
php生成文件
2007/01/15 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
Python日期操作学习笔记
2008/10/07 Python
Python中异常重试的解决方案详解
2017/05/05 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python argparse模块使用方法解析
2020/02/20 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
美国家具网站:Cymax
2016/09/17 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
国际贸易系求职信
2014/08/09 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
CSS 圆形进度栏
2021/04/06 HTML / CSS