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的智能提示插件一枚
Feb 18 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
May 06 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
Sep 28 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 Javascript
js实现开关灯效果
Mar 30 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
使用adodb lite解决问题
2006/12/31 PHP
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
Python的时间模块datetime详解
2017/04/17 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
护士节演讲稿开场白
2014/08/25 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书