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资源预加载组件和滑屏组件的使用推荐
Mar 10 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
利用js实现前后台传送Json的示例代码
Mar 29 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
Apr 17 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
JS集合set类的实现与使用方法示例
Feb 01 Javascript
小程序根据手机机型设置自定义底部导航距离
Jun 04 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
Vue 中使用 typescript的方法详解
Feb 17 Javascript
JavaScript Dom实现轮播图原理和实例
Feb 19 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转换IP地址到真实地址的方法详解
2013/06/09 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
微信小程序开发摇一摇功能
2019/11/22 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
PyMongo安装使用笔记
2015/04/27 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
Python Gitlab Api 使用方法
2019/08/28 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
创业培训计划书
2014/05/03 职场文书
服务之星事迹材料
2014/05/03 职场文书
小学班级口号
2014/06/09 职场文书
2015年团支部工作总结
2015/04/03 职场文书
同意落户证明
2015/06/19 职场文书
货款欠条范本
2015/07/03 职场文书
女儿满月酒致辞
2015/07/29 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
Python OpenCV实现图形检测示例详解
2022/04/08 Python