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);
}

私はそれのinstedをparentController使いたいです。しかし、うまくいきません。どうすればこの問題を解決できますか?myServicedefaultService

4

1 に答える 1

0

正しいインジェクション名を使用します:

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

しかし、あなたがやっていることは、何よりもハックのようです。

于 2015-12-03T16:01:19.843 に答える