AngularJS中的ng-repeat中,隐含的index,可以使用$index来访问,也可以自己指定index对应的变量名。
- 使用隐含的index变量

隐含的index变量名是index,可以使用$index来访问。

// 定义module和controller
var site = angular.module('application.site', []);
site.controller('MainController', ['$scope', '$http', function ($scope, $http) {$scope.users = [{name:"xialei",posts:["post一","post二","post三"]},{name:"zhangsan",posts:["post四","post五"]}];
}]);

下面在html页面内使用controller和定义的collection对象。

<div ng-controller="MainController"><dl ng-repeat="user in users"><dt ng-init="p_index=$index">Name:{{ user.name }}</dt></dl>
</div>

这里使用了$index,这是AngularJS提供的隐含的collection对象的index变量量。

  • 指定index变量名
    在ng-repeat中可以自己指定index的变量名称,并在随后使用。比如下面代码中,定义了times的index变量名称timeIndex (为tr 元素), 为days的遍历操作,定义了dayIndex的索引变量。
<tr data-ng-repeat="(timeIndex, time) in times"><td style="text-align: center; width: 12.5%;" data-ng-style="doGetTimeColumnStyle($index)">{{time}}</td><td   data-ng-repeat="(dayIndex, day) in days" data-ng-click="selectDatetimeSlot(dayIndex, day, timeIndex, time)"><button class="popupWindow" data-ng-if="datetimeSlots[dayIndex][timeIndex].status && datetimeSlots[dayIndex][timeIndex].status != 'AVAILABLE' && datetimeSlots[dayIndex][timeIndex].status != 'EXPIRED' &&datetimeSlots[dayIndex][timeIndex].mode != 'ONE_V_MANY'" data-ng-class="datetimeSlots[dayIndex][timeIndex].displayStatus | lowercase" data-placement="{{doGetTimeColumnPopOverPlacement(dayIndex, timeIndex)}}" data-animation="am-flip-x" data-trigger="focus" data-bs-popoverdata-template="partials/timeSlotPopover.html">{{datetimeSlots[dayIndex][timeIndex].displayStatus}} {{datetimeSlots[dayIndex][timeIndex].stdName}}</button>

ps:
$index是angular 内针对ng-repeat提供的隐含index变量名称,如果在ng-repeat嵌套使用时,index名称会发生冲突及覆盖。这是也应该使用自定义的变量名。
下面例子中父级的index使用ng-init,定义了p_index来指定为parent index。

 <div ng-controller="MainController"><dl ng-repeat="user in users"><dt ng-init="p_index=$index">Name:{{ user.name }}</dt><dd ng-repeat="p in user.posts">Parent index:{{ p_index }} - {{ p }}self Index:{{ $index }}</dd></dl>
</div>

AngularJS中使用ng-repeat的index相关推荐

  1. 在AngularJS中读取查询参数的最简洁方法是什么?

    本文翻译自:What's the most concise way to read query parameters in AngularJS? I'd like to read the values ...

  2. 如何在AngularJS中使用ng-repeat迭代键和值?

    本文翻译自:How to iterate over the keys and values with ng-repeat in AngularJS? In my controller, I have ...

  3. 春风十里不如你--Angularjs 中的iframe 标签 ng-src 路径

    Angularjs 中的iframe 标签 ng-src 路径 报错问题 解决办法 iframe中的src直接替换成ng-src不可以,需要转换一下.Angular里面有个属性是专门用来解决跨域问题的 ...

  4. AngularJs中的directives(指令part1)

    一.指令的职责   指令的职责是修改DOM结构,并将作用域和DOM连接起来.即指令既要操作DOM,将作用域内的数据绑定到DOM节点上,又要为DOM绑定事件调用作用域内的对应的方法. 二.创建自定义指令 ...

  5. 转: 理解AngularJS中的依赖注入

    理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Prov ...

  6. 如果我有jQuery背景,那么“ AngularJS中的思考”吗? [关闭]

    已关闭 . 这个问题需要更加集中 . 它当前不接受答案. 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题. 4年前关闭. 已锁定 . 该问题及其答案被锁定,因为该问题是题外话,但具有 ...

  7. AngularJS中实现无限级联动菜单(使用demo)

    原文地址:http://www.cnblogs.com/front-end-ralph/p/5133122.html 昨天没来得及贴几个使用demo,今天补上,供有兴趣的同学参考 :) 1. 同步加载 ...

  8. 理解AngularJS中的依赖注入

    作者 CraftsCoder 冷月无声 - 博客频道 - CSDN.NET http://blog.csdn.net/jaytalent/article/details/50986402 本文结合一些 ...

  9. AngularJS中Directive指令系列 - 基本用法

    参考: https://docs.angularjs.org/api/ng/service/$compile http://www.zouyesheng.com/angular.html Direct ...

最新文章

  1. “抗疫”的第二战线:有人整晚睡不着,有人远程提供紧急心理包扎
  2. 什么是二进制数 为什么用二进制数表示计算机信息?
  3. WCF步步为营(五):数据契约
  4. Python之pip:Python语言中的pip的简介、安装、使用方法之详细攻略
  5. gazebo仿真环境加载多个机器人
  6. Linux线程——线程创建和基本使用(多线程并发)
  7. can‘t resolve symbol xxx
  8. asp.net文件上传进度条控件(破解版~没有时间限制) 多项自定义
  9. 麒麟linux怎么安装软件,中标麒麟Linux操作系统怎么安装软件?
  10. Extjs页面实现行复制功能
  11. 转一个PS图像处理技巧大全,很实用!
  12. LLC谐振电路(二) 同步整流技术
  13. 在职校学计算机有好的出路吗,如何学好计算机(在职校学计算机有出路吗)
  14. 企业ERP管理系统使用说明
  15. 346雷达有多少tr组件_相控阵雷达数字TR组件研究.PDF
  16. 插件开发之国际化(i18n)
  17. Spring Boot项目启动流程
  18. 局域网共享工具_印前、快印常用的局域共享软件
  19. #今日论文推荐# 爱丁堡大学等首篇《移动无线网络中的深度学习》综述论文,67页pdf涵盖570篇文献阐述深度学习在移动无线网络中的应用最佳实践
  20. 极氪汽车 APP 系统云原生架构转型实践

热门文章

  1. 手把手教你撸一个简易的 webpack
  2. jq简单封装replaceAll
  3. ios34---GDC,dispatch_once
  4. 利用反射自动封装成实体对象
  5. Fedora 17 PHP编程环境配置
  6. xx置业有限公司建议篇
  7. GNS3 搭配 secureCRT 安装配置与使用心得
  8. [听尉迟方侃侃]平台
  9. antisamy java_antisamy的使用方法
  10. jQuery load()方法特殊用法!