隔离范围已经讨论了很多,但我找不到类似的情况。
我在一个用PHP生成视图的网站中使用Angular。
我有这种HTML内容的例子:
<my-directive>
<div ng-repeat="item in list"></div>
<ul>
<li>some information 1</li>
<li>some information 2</li>
<li>some information 3</li>
<li>...</li>
</ul>
</my-directive>
<my-directive>
<div ng-repeat="item in list"></div>
... // similar stuffs
</my-directive>
&#34; ng-repeat&#34;中的列表是根据&#34; ul&#34;中的内容创建的。在我的HTML视图中用PHP填充的元素。
如果我没有隔离范围,那么&#34;列表&#34;我所有指令中的对象都是最后一个指针。
如果我隔离了范围,我就无法访问我的指令中的列表对象(对于我的ng-repeat)。
通常会在指令中注入范围,但我的列表中有很多数据,所以我不能在指令声明中将其作为参数保留。
有没有正确的方法呢?
[编辑]
我做了一个codepen来说明这个问题:
http://codepen.io/laurent-le-graverend/pen/gljIa?editors=101
在JS代码中,如果你试图删除第19行,你会看到过滤器出现,但是它有最后一个指令的数据。