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+JSon 无刷新分页实现代码
Apr 01 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
jQuery中find()方法用法实例
Jan 07 Javascript
DOM基础教程之使用DOM控制表格
Jan 20 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 Javascript
Javascript简单改变表单元素背景的方法
Jul 15 Javascript
javascript类型系统——undefined和null全面了解
Jul 13 Javascript
vue货币过滤器的实现方法
Apr 01 Javascript
angular中实现控制器之间传递参数的方式
Apr 24 Javascript
在vue中使用jointjs的方法
Mar 24 Javascript
JavaScript门道之标准库
May 26 Javascript
JS简易计算器实例讲解
Jun 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
Python复制文件操作实例详解
2015/11/10 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
浅谈python常用程序算法
2019/03/22 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
日本小田急百货官网:Odakyu
2018/07/19 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
数据保密承诺书
2014/06/03 职场文书
生物科学专业自荐书
2014/06/20 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python