我在隔离范围上有一个名为itemClickHandler
的属性。然后我有很少的其他范围从它继承,包括由ng-repeat
指令创建的范围。这两个子范围都没有创建隔离范围,因此我应该能够在子范围内访问此属性,但出于某种原因我不能。为什么?
这有效:
scope.$parent.$parent.$parent.itemClickHandler //returns value
这不起作用:
scope.itemClickHandler //returns undefined
答案 0 :(得分:2)
通常情况下,您的代码示例可以正常工作,但正如您自己所说,您已经处于隔离范围内。根据定义,隔离范围将从原型链中删除(引自angular docs):
通常,范围原型继承自其父级。孤立的范围没有。请参阅"指令定义对象 - 范围"有关隔离范围的更多信息,请参阅。