无法访问父范围内的属性,但是我可以通过该属性链查看

can't access property on parent scope, however I can see through that chain of properties

本文关键字:属性 可以通过 访问 范围内      更新时间:2023-09-26

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

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

这不起作用:

scope.itemClickHandler //returns undefined

通常,您的代码示例可以工作,但正如您自己所说,您处于隔离范围内。根据定义,隔离范围从原型链中删除(引用自角度文档):

通常

,作用域原型通常继承自其父级。独立作用域则不会。有关隔离作用域的详细信息,请参阅"指令定义对象 - 作用域"部分。