Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs:如何访问ng repeat的当前元素_Angularjs - Fatal编程技术网

angularjs:如何访问ng repeat的当前元素

angularjs:如何访问ng repeat的当前元素,angularjs,Angularjs,我需要能够访问指令中ng repeat的当前元素。请参阅JSFIDLE以了解这一点: 我希望在控制台中有一个散列(比如{width:100,height:100}),但我不确定如何做到这一点 任何帮助都将不胜感激。这是一把有效的小提琴(并输出您所期望的内容) 有关重复的ng的注意事项: ng repeat始终为数组/对象中的每个元素创建一个新范围 当前元素在此新范围内可用,作为ng repeat中定义的元素名称。例如:如果您定义了ng repeat=“pages in pages”,则当前元

我需要能够访问指令中ng repeat的当前元素。请参阅JSFIDLE以了解这一点:

我希望在控制台中有一个散列(比如{width:100,height:100}),但我不确定如何做到这一点


任何帮助都将不胜感激。

这是一把有效的小提琴(并输出您所期望的内容)

有关重复的
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”将允许您的内部作用域访问内部、内部、外部和外部。