0

我正在使用$controller服务来继承控制器。

我有这样的东西

angular.module('myModule', ['someModule'])
   .controller('parentController', parentController)
   .controller('childController', childController);

parentController.$inject = [ '$scope', 'someModule.defaultService'];
childController.$inject = [ '$scope', 'someModule.myService'];

function parentController($scope, defaultService) {
        $scope.value = defaultService.someMethod();
}

function childController($scope, myService) {
        var viewModel = this;
        var ctrl = $controller('parentController', {
            $scope: $scope, defaultService:myService
        });
        angular.extend(viewModel, ctrl);
}

我想parentController使用myService它的 insted defaultService。但它不起作用。我怎么解决这个问题?

4

1 回答 1

0

使用正确的注入名称:

var ctrl = $controller('parentController', {
        $scope: $scope, **defaultService**:myService
});

但是,您所做的似乎比其他任何事情都更像是一种黑客行为。

于 2015-12-03T16:01:19.843 回答