在注入模块上调用服务

时间:2013-11-12 20:24:50

标签: angularjs

我有一个main module和一些submodules。我正在submodules中注入mainmodule。现在我想访问`submodule的服务 - 我该怎么做?

var myApp = angular.module('myApp', [
    'AuthenticationModule',
]);

myApp.controller('TestController', function($scope, 'AuthenticationModule') {
        /* How do I use the service? */
        $scope.testVar = AuthenticationModule.SERVICE?????
});

submodule

var AuthenticationModule = angular.module('AuthenticationModule', []);

AuthenticationModule.service('TestService', function() {
    this.testFunction = function() {
        return 'You successfully got me!';
    };
});

1 个答案:

答案 0 :(得分:2)

在角度中,您不会注入modules。相反,您声明模块之间的依赖关系,然后应用程序模块中提供了依赖关系中的所有controllersservicesdirectivesvalues

在你的情况下如何做到这一点很可能是这样的:

var AuthenticationModule = angular.module('AuthenticationModule', []);

AuthenticationModule.service('TestService', function() {
    this.testFunction = function() {
        return 'You successfully got me!';
    };
});

var myApp = angular.module('myApp', [
    'AuthenticationModule',
]);

myApp.controller('TestController', function($scope, 'TestService') {
        /* Injected the "TestService" directly */
        $scope.testVar = TestService.testFunction();
});