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 相关文章推荐
jQuery中调用WebService方法小结
Mar 28 Javascript
js 分页全选或反选标识实现代码
Aug 09 Javascript
利用jquery的获取JS文件中的字符串内容
Feb 14 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
js 获取input点选按钮的值的方法
Apr 14 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
Aug 12 Javascript
详解javascript遍历方式
Nov 11 Javascript
使用bootstrap3开发响应式网站
May 12 Javascript
js实现StringBuffer的简单实例
Sep 02 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
vue双向绑定数据限制长度的方法
Nov 04 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绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php发送邮件的问题详解
2015/06/22 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
微信公众号网页分享功能开发的示例代码
2020/05/27 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
python批量下载图片的三种方法
2013/04/22 Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
优秀企业获奖感言
2014/02/01 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
二审答辩状格式
2015/05/22 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android