【问题标题】:angular $controller locals substitue角度 $controller 本地人替代品
【发布时间】:2015-12-03 15:57:48
【问题描述】:

我正在使用$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 插入它是defaultService。但它不起作用。我该如何解决这个问题?

【问题讨论】:

    标签: angularjs angular-services angular-controller


    【解决方案1】:

    使用正确的注入名称:

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

    但是,恕我直言,你所做的似乎更像是一种黑客行为。

    【讨论】:

    • 对不起,我在这里的例子中犯了一个错误。我使用了正确的名称,但它不起作用:(
    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2018-02-18
    • 1970-01-01
    相关资源
    最近更新 更多