4

我真的很感激我在开发一个嵌入的隔离指令时遇到的这个范围界定问题的一些理解,其中嵌入在模板内重复。

我保证我已经了解隔离和包含范围的工作原理,并且我已经在网上搜索了答案。:)

我在这里发现的是,当不使用重复时,我的嵌入的 html 可以访问父范围(正如我所料,因为嵌入的范围是父范围的兄弟)。

但是,当我更改模板以重复嵌入时,被嵌入的 html 不再可以访问父范围。

我敢肯定这是有充分理由的,但就我的一生而言,我不能指望它。

在此处查看示例 plunker - 它会比文字更好地解释我所指的内容。

4

1 回答 1

8

ng-repeat 发生的情况是嵌入范围(下面的 00A)成为 ng-repeat 范围(009)的子级,而不是控制器范围(003)的子级。

(右键单击图像并在新选项卡中打开它以更好地查看它。)

在此处输入图像描述

由于从隔离范围 006 到控制器范围 003 没有虚线,因此outer使用原型继承链接/查找无法找到被嵌入的范围 00A。

(范围 004 和 005 由working指令创建。转置范围 005 可以outer使用原型继承找到。)

于 2013-05-24T23:31:10.880 回答