无法访问父作用域上的属性,但是我可以看到该属性链

时间:2015-01-28 14:03:52

标签: javascript angularjs

我在隔离范围上有一个名为itemClickHandler的属性。然后我有很少的其他范围从它继承,包括由ng-repeat指令创建的范围。这两个子范围都没有创建隔离范围,因此我应该能够在子范围内访问此属性,但出于某种原因我不能。为什么? 这有效:

scope.$parent.$parent.$parent.itemClickHandler //returns value

这不起作用:

scope.itemClickHandler //returns undefined

1 个答案:

答案 0 :(得分:2)

通常情况下,您的代码示例可以正常工作,但正如您自己所说,您已经处于隔离范围内。根据定义,隔离范围将从原型链中删除(引自angular docs):

  

通常,范围原型继承自其父级。孤立的范围没有。请参阅"指令定义对象 - 范围"有关隔离范围的更多信息,请参阅。