当在id属性中使用时,AngularJS指令不会看到$ index

时间:2013-07-24 15:37:42

标签: angularjs angularjs-directive

我有以下示例:

http://jsfiddle.net/2FTEU/3/

在指令中我想基于它在ng-repeat中的位置分配动态id标记

<my-directive id="directive-{{$index}}"></my-directive>

发生的事情是,当指令被渲染时,索引被删除

<button id="directive-"></button>

如何在指令的id中使用$ index?

修改 我需要保持隔离范围。发布的示例只是一个证明我的问题的小例子。

2 个答案:

答案 0 :(得分:0)

您的指令myDirective正在使用隔离范围,从父范围继承。因此,$index不再可访问。

您可以使用{scope : true}为指令创建新范围。 Here是你的小提琴的工作版本。

答案 1 :(得分:0)

使用{{$parent.$index}}

ng-repeat创建的范围包含$index属性。由于myDirective创建了新的隔离范围,因此您可以使用$parent“到达”父级重复范围。