像在模板中一样在控制器中查找父范围属性

时间:2014-09-03 11:15:14

标签: javascript angularjs

是否有一种简单的方法可以从控制器中读取其中一个父作用域中定义的属性?就像Angular在模板中所做的那样,正如文档所解释的那样:

  

当Angular评估{{name}}时,它首先查看与name属性的给定元素关联的范围。如果未找到此类属性,则会搜索父作用域,依此类推,直到达到根作用域。在JavaScript中,这种行为称为原型继承,子范围原型继承自父母。

但是这种行为不会在控制器内部应用,如果你写$scope.name它只是在当前范围内查找。

1 个答案:

答案 0 :(得分:0)

非常容易完成:$scope.$parent.name

请参阅底部的angular documentation以供参考。

修改

可以通过命名控制器来检索分层树中任何父级的范围属性,这些控制器在此SO答案中发布:angularjs Access parent scope from child controller并由命名父级访问它们。