访问父控制器的实例方法

时间:2015-12-03 14:16:29

标签: javascript angularjs

我已开始使用ControllerAsvm变量语法。但现在我不知道如何访问父控制器的方法(在我通过$scope变量访问之前)。
这是HTML的一个例子:

<div ng-controller="AppCtrl as app">
  <div ng-controller="ChildCtrl as child">
  </div>
</div>

相应的控制器:

angular.module('test').controller('AppCtrl', function () {
  var vm = this;
  vm.log = function() {
    console.log("Output");
  }
}  

angular.module('test').controller('ChildCtrl', function () {
  var vm = this;
  // Here I want to access parent's log() function
}  

如何从ChildCtrl访问 log()功能?

1 个答案:

答案 0 :(得分:2)

通过将$scope注入子控制器并使用以下属性,可以在使用controllerAs语法时访问父作用域:

$scope.app

其中app是您用于父控制器的名称。