我真的很感激我在开发一个transcluded isolated指令时遇到的这个范围问题的理解,其中在模板内部重复了转换.
我保证我已经理解了隔离和隔离范围的工作方式,并且我已经在网上搜索了答案.:)
我在这里发现的是,当不使用重复时,我的transcluded html可以访问父作用域(正如我预期的那样,因为被转换的作用域是父作用域的兄弟).
但是,当我更改模板以重复转换时,转换的html将无法再访问父作用域.
我确信这是有充分理由的,但对于我的生活,我不能把手指放在上面.
请在这里查看一个示例plunker - 它将解释我所指的更好,而不是单词可以.
ng-repeat发生的情况是,被转换的范围(下面的00A)成为ng-repeat范围(009)的子节点,而不是控制器范围的子节点(003).
(右键单击图像并在新选项卡中打开它以更好地查看它.)
由于从隔离范围006到控制器范围003没有虚线,因此outer
使用原型继承链接/查找找不到转换范围00A .
(范围004和005由working
指令创建.Transcluded范围005可以找到outer
使用原型继承.)