有没有一种简单的方法可以从控制器读取父作用域中定义的属性?正如Angular在模板中所做的那样,正如文档所解释的:
Angular计算{{name}}时,首先查看与name属性的给定元素相关联的范围。如果找不到这样的属性,它将搜索父作用域,依此类推,直到到达根作用域。在JavaScript中,这种行为被称为原型继承,子作用域原型继承自其父作用域。
但这种行为不适用于控制器内部,如果您编写$scope.name
,它只是在当前范围内查看。
非常容易完成:$scope.$parent.name
请参阅底部的角度文档以供参考。
编辑
层次结构树中任何父级的作用域属性都可以通过命名SO答案中发布的控制器来检索:angularjs从子控制器访问父级作用域,并由命名的父级访问它们。