7

我需要能够在指令中访问 ng-repeat 的当前元素。请参阅 jsfiddle:http: //jsfiddle.net/terebentina/TVEnN/

我期待控制台中有一个哈希值(如 {width: 100, height: 100}),但我不确定如何做到这一点。

任何帮助将非常感激。

4

2 回答 2

14

这是一个有效的小提琴(并输出您所期望的)。

http://jsfiddle.net/TVEnN/2/

注意事项ng-repeat

  1. ng-repeat总是为数组/对象中的每个元素创建一个 NEW SCOPE。
  2. 当前元素在这个新范围内可用,作为ng-repeat. 例如:如果您已定义ng-repeat = "page in pages",则当前元素在页面范围内可用。如果您定义ng-repeat = "(key,value) in object"了两者key并且value在这个新范围内可用。
  3. 数组中的当前位置可用作$index
  4. 由于ng-repeat创建了一个新作用域并且所有作用域都从其父作用域继承pages,因此上面示例中的作用域在这个新作用域中仍然可用,这意味着您可以在需要时执行类似$scope.pages.length的操作。
于 2012-09-03T13:15:02.670 回答
0

除了@ganaraj 的回答:

使用过滤器时有一个陷阱。通过使用过滤器,例如按字母顺序排列项目,$indexresp。该key变量不再表示项目在 items 数组中的实际位置,而是它在ng-repeat-block 中的当前位置。

看到这个链接

于 2016-01-20T19:37:35.187 回答