在angular指令中访问父控制器

时间:2014-06-16 09:44:21

标签: angularjs angularjs-directive

具有相同的嵌套指令:

<div mydir="a">
  <div mydir="b">
  </div>
</div>

如果mydir需要?^mydir,则它始终会获得自己的控制权 test_plunk
是否可以访问父母的控制器?

2 个答案:

答案 0 :(得分:1)

根据jqLit​​e上的角度文档,您可以调用controller()来检索任何给定元素的控制器:

  

controller(name) - 检索当前元素或其父元素的控制器。   默认情况下,检索与ngController指令关联的控制器。   如果name作为camelCase指令名提供,则为此控制器   将检索指令(例如'ngModel')。

在你的链接函数中,你可以通过调用父元素上的controller()并传入指令的名称来检索父控制器:

var parentCtrl = iElement.parent().controller('mydir');

答案 1 :(得分:0)

$scope.$parent.a;

会给你a

$ scope是angular

注入的范围

$ parent是来自angular中任何范围的父作用域的关键字引用。

是的,这是JavaScript,正如问题中所提到的,AngularJS支持Javascript