【发布时间】:2016-08-17 18:15:37
【问题描述】:
我在我的应用程序中使用 controllerAs 语法,我想从子控制器访问父控制器的功能,我知道这可以通过注入 $scope 来实现,但是考虑到 Angular 已经非常努力地从代码中删除 $scope,我想知道是否有更优雅的方法可以在不注入 $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
}
我知道我可以注入 $scope 然后通过 $scope.app.log() 访问日志功能,但是有没有更好的方法来访问日志而不注入 $scope?
【问题讨论】:
标签: javascript angularjs