`
赵彦枝
  • 浏览: 50132 次
  • 性别: Icon_minigender_2
  • 来自: 河北
社区版块
存档分类
最新评论

Angular js的ng-repeat

 
阅读更多

                                                               重复语句ng-repeat

    ng-repeat可以遍历一个数组中的数据并循环输出,这样显示一个表格就显得很简单.

1.首先定义要显示的数据的数组:

<script>
var app=angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.productList=[
  {"classification": "饮料","name": "可口可乐","price": "3", "unit": "瓶"},
  {"classification": "饮料","name": "雪碧", "price" : "3",  "unit": "瓶"},
  {"classification": "水果", "name": "苹果", "price" : "5.5", "unit": "斤"},
  {"classification": "水果", "name": "荔枝",  "price": "15",   "unit": "斤"},
  {"classification": "生活用品","name": "电池", "price" : "2", "unit": "个",},
  {"classification": "食品", "name": "方便面",  "price": "4.5", "unit": "袋"}
]
})
</script>

 2.然后在html中编写如下代码:

<div class="mainTable" ng-controller="myCtrl">
    <table class="tableList">
        <th>分类</th>
        <th>名称</th>
        <th>单价(元)</th>
        <th>单位</th>
        <th></th>
        <tr ng-repeat="product in productList">
          <td>{{product.classification}}</td>
          <td>{{product.name}}</td>
          <td>{{product.price}}</td>
          <td>{{product.unit}}</td>
          <td><button ng-click="addButtonEvent(product)">加入购物车</button>
          </td>
        </tr>   
    </table>
</div>

           上面的点击函数中product参数为被点击当前行的数据内容,Angular js的ng-repeat可以直接把当前行的数据作为参数进行传递,在addButtonEvent()函数中就可以获取.

3.Angular js提供了$index字段可以获得当前元素在数组中的下标,

//如果把上边的点击事件函数的参数换成$index,就可以知道表格中哪个按钮被点击并且还可以知道该数据在数组中的位置下标
<td><button  ng-click="addButtonEvent($index)" class="button">加入购物车</button></td>

 4.ng-show还可以对ng-repeat要显示的数据进行过滤后再显示,例子如下:

<tr ng-repeat="product in productList"   ng-show="$index>0">
   <td>{{product.classification}}</td>
   <td>{{product.name}}</td>
   <td>{{product.price}}</td>
   <td>{{product.unit}}</td>
   <td><button  ng-click="addButtonEvent(product)" class="button">加入购物车
   </button></td>
</tr>
//对ng-show设置为$index>0,这样数组就会从第二个元素开始显示.也可以对$index就行其他的限制
  5.可以通过$first、$middle及$last知道当前元素是否是数组中的第一个元素、中间的某个元素,或者最后一个元素 ,此时ng-repeat指令返回的是布尔值 .

 

 

 

分享到:
评论

相关推荐

    angularjs,ng-repeat循环渲染时,无法获取dom对象.pdf

    然而,在使用`ng-repeat`进行渲染的过程中,有时候开发者会遇到无法直接获取到这些DOM对象的问题。这种情况经常发生的原因包括AngularJS的编译和链接机制以及其运行时的异步特性。 首先,要理解AngularJS的双向数据...

    Angular.js中用ng-repeat-start实现自定义显示

    总结一下,Angular.js中的`ng-repeat-start`和`ng-repeat-end`是解决复杂迭代问题的有力工具,它们可以让我们在迭代过程中跨越多个DOM元素,实现自定义布局。通过理解并熟练运用这两个指令,开发者可以更好地适应...

    Angular中ng-repeat与ul li的多层嵌套重复问题

    Angular中ng-repeat与ul li的多层嵌套重复问题解决方案 Angular中的ng-repeat指令可以实现对数组或对象的循环输出,但是当我们需要使用ng-repeat进行多层嵌套时,容易出现数据重复的问题。本文将介绍Angular中ng-...

    Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍

    ng-repeat-start与ng-repeat-end时AngularJS(1.2.x)扩展的,使用这两个指令可以灵活控制遍历形式。 例如: index.html &lt;div class=uk-panel ng-controller=UserCtrl&gt; &lt;ul class=uk-list&gt; &lt;li ng-repeat-start=...

    angular.js-master.zip

    3. **指令**:AngularJS中的指令扩展了HTML的功能,允许开发者定义自定义的DOM元素和属性,如`ng-repeat`用于循环渲染数据,`ng-if`用于条件显示等。 4. **表单处理和验证**:AngularJS提供了内置的表单验证机制,...

    AngularJS实战之ng-repeat的详细用法

    除了遍历数组或对象,还可以通过`ng-repeat-start`和`ng-repeat-end`来控制重复的范围,比如创建一个固定数量的元素: ```html &lt;div ng-repeat-start="i in [1, 2, 3]"&gt;Row {{ i }} &lt;div ng-repeat-end&gt;End of ...

    Angular ng-animate和ng-cookies用法详解

    `ng-animate`是Angular的一个插件模块,它允许开发者在Angular的特定事件(如`ng-show`、`ng-hide`、`ng-repeat`等)触发时添加动画效果。在使用`ng-animate`之前,需要在HTML入口文件中引入Angular的核心库`angular...

    angular_ng-repeat

    通过 `ng-repeat-start` 和 `ng-repeat-end` 可以创建跨越多个元素的循环,同时使用 `ng-if` 或 `ng-switch` 可以在满足特定条件时取消循环。 7. **效率优化** 随着数据量增大,使用 `track by` 可以提高性能,...

    Angular ng-repeat指令实例以及扩展部分

    `Angular ng-repeat`指令是AngularJS中的核心指令之一,用于在HTML模板中循环遍历数组或对象集合,并根据每个元素创建对应的DOM结构。这个指令在实际开发中非常常见,能够帮助开发者快速地构建动态列表或者表格。...

    Angular ng-repeat 对象和数组遍历实例

    在`Angular ng-repeat`中,遍历数组通常采用以下语法: ```html &lt;label for="" ng-repeat="item in list"&gt; {{item.property}} ``` 这里,`list`是包含多个对象的数组,`item`是当前循环中的对象,`item....

    angular.js-master

    这个"angular.js-master"压缩包包含了一个AngularJS的详细示例项目,可以帮助我们深入理解AngularJS的核心概念和技术。 ### 1. AngularJS 基本概念 - **MVVM 模式**:AngularJS遵循Model-View-ViewModel(MVVM)...

    前端项目-angular-ui-sortable.zip

    &lt;li ng-repeat="item in items"&gt;{{ item.name }} ``` 在上述代码中,`ng-model`指令用于绑定数据源,`ui-sortable`则是`angular-ui-sortable`的主指令。当用户完成拖放排序后,`items`数组的顺序会自动更新,反映...

    angular-phonecat-master

    在"phonecat-master"中,`ng-repeat`可能用于显示电话列表。 **6. 路由(Routing)** 在单页应用中,路由管理页面间的导航。AngularJS的`ngRoute`模块提供了一个`$routeProvider`,允许我们配置URL到视图和控制器...

    alert和confirm和ng-repeat

    在本话题中,我们将深入探讨如何结合Bootstrap的`alert`和`confirm`功能,以及如何在其中使用`ng-repeat`进行双层嵌套。 首先,Bootstrap是Twitter开发的一个开源CSS框架,提供了丰富的组件和样式,如模态框、警告...

    Angularjs的ng-repeat中去除重复数据的方法

    然而,有时候我们可能遇到数据源中存在重复项的情况,这时我们需要在使用`ng-repeat`之前去除这些重复数据。本文将详细介绍如何在AngularJS的`ng-repeat`中实现这一功能。 首先,我们可以创建一个自定义过滤器...

    angularjs在ng-repeat中使用ng-model遇到的问题

    在ng-repeat中使用ng-model时会有许多问题,有的人碰到无法获取绑定的数据内容,有的人遇到改动绑定的数据内容时所有循环生成的内容一起改变。上面的问题我在开发时也遇到过,但是解决后我却怎么也还原不了那种情况...

    AngularJS入门(用ng-repeat指令实现循环输出

    循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任。...ng-repeat directive&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;table ng-controller=CartControlle

    angular-dynamic-dropdowns:使用表单,ng-options和ng-repeat的角度动态下拉菜单

    "angular-dynamic-dropdowns"是一个专为此目的设计的模块,它允许开发者通过表单、`ng-options`和`ng-repeat`指令创建灵活且可扩展的下拉菜单。本文将深入探讨这些关键概念以及如何在实际项目中应用它们。 1. **...

    angular-swiper-repeat

    在压缩包`angular-swiper-repeat-master`中,通常会包含以下内容: 1. `angular-swiper-repeat.js` - 组件的主要JavaScript文件,包含了`Angular-Swiper-Repeat`的实现。 2. 示例或测试文件 - 用于演示如何在实际...

Global site tag (gtag.js) - Google Analytics