What's an elegant way of accessing parent controller's member from child controller?
<p>I am using controllerAs syntax in my application, I want to access parent controller's function from child controller, I know this is achievable by injecting $scope, however considering Angular has tried so hard to get rid of the $scope from code, I'd like to know if there is a more elegant way of doing this without injecting $scope? </p>

<p>Here's an example of HTML:</p>

<pre><code>&lt;div ng-controller="AppCtrl as app"&gt;
  &lt;div ng-controller="ChildCtrl as child"&gt;
  &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>And corresponding controllers:</p>

<pre><code>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
}  
</code></pre>

<p>I know I can inject $scope and then access the log function by <code>$scope.app.log()</code>, but is there a bettter way to access log without injecting the <code>$scope?</code></p>