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 相关文章推荐
在JavaScript中实现命名空间
Nov 23 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 Javascript
如何抽象一个Vue公共组件
Oct 17 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
mocha的时序规则讲解
Feb 16 Javascript
JavaScript中的一些实用小技巧总结
Apr 07 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
文件上传类
2006/10/09 PHP
php部分常见问题总结
2008/03/27 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
popdiv
2006/07/14 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
Python 字典与字符串的互转实例
2017/01/13 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python 两个数据库postgresql对比
2019/10/21 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
学校食堂采购员岗位职责
2013/12/05 职场文书
酒店员工检讨书
2014/02/18 职场文书
幼儿园小班教师寄语
2014/04/03 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
利用 JavaScript 构建命令行应用
2021/11/17 Javascript
SQL SERVER存储过程用法详解
2022/02/24 SQL Server
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL