angularjs:如何访问ng repeat的当前元素
我需要能够访问指令中ng repeat的当前元素。请参阅JSFIDLE以了解这一点: 我希望在控制台中有一个散列(比如{width:100,height:100}),但我不确定如何做到这一点angularjs:如何访问ng repeat的当前元素,angularjs,Angularjs,我需要能够访问指令中ng repeat的当前元素。请参阅JSFIDLE以了解这一点: 我希望在控制台中有一个散列(比如{width:100,height:100}),但我不确定如何做到这一点 任何帮助都将不胜感激。这是一把有效的小提琴(并输出您所期望的内容) 有关重复的ng的注意事项: ng repeat始终为数组/对象中的每个元素创建一个新范围 当前元素在此新范围内可用,作为ng repeat中定义的元素名称。例如:如果您定义了ng repeat=“pages in pages”,则当前元
任何帮助都将不胜感激。这是一把有效的小提琴(并输出您所期望的内容) 有关重复的
ng的注意事项
:
ng repeat
始终为数组/对象中的每个元素创建一个新范围李>
ng repeat
中定义的元素名称。例如:如果您定义了ng repeat=“pages in pages”
,则当前元素在范围中作为页面可用。如果在对象中定义了ng repeat=“(键,值)”
则key
和value
都可在此新范围内使用$index
ng repeat
创建了一个新范围,并且所有范围都从其父范围继承,因此上例中的页面
在此新范围中仍然可用,这意味着您可以根据需要执行类似$scope.pages.length
的操作除了@ganaraj的回答之外: 使用过滤器时存在一个陷阱。通过使用过滤器,例如按字母顺序对项目排序,
$index
resp。键
变量不再表示项目在项目数组中的实际位置,而是表示其在ng repeat
-块中的当前位置
请参见当前元素不应该只是
范围。页面
,因为您在页面中迭代了页面吗?谢谢Philipp,如果您的评论是一个答案,我会接受的。出于某种原因,我不知道scope会得到那个属性。哦,出于某种原因,我不知道页面会通过scope可用。非常感谢。我正在尝试做的事情有点复杂-我需要用raphaeljs渲染一个svg容器,并且需要将raphael paper对象链接回{width,height}对象,以便以后可以访问它进行进一步操作。@DanCaragea编辑了答案以获得更多解释。希望有帮助。很好!我只是在测试这个。从您的#4中暗示出来,但需要特别指出的是:在ng repeat=“outer in outers”内部的ng repeat=“inner in inners”将允许您的内部作用域访问内部、内部、外部和外部。