2013-04-16 148 views
10

我定义我的主要模块,例如:angularjs模块依赖

angular.module('domiciliations', ['domiciliations.service', 'loggerService', 'person.directives']). 
    config(['$routeProvider', function ($routeProvider) { 
    $routeProvider. 
     when('/domiciliations/mandats', { templateUrl: 'domiciliations/views/mandats.html', controller: mandatsCtrl }). 
     when('/domiciliations/mandats/:rum', { templateUrl: 'domiciliations/views/mandat.html', controller: mandatCtrl }). 
     otherwise({ redirectTo: '/domiciliations/mandats' }); 
    }]). 
    value('toastr', window.toastr). 
    value('breeze', window.breeze); 

我的问题是如何如何在我的控制器指定模块的依赖?

如果我做的:

angular.module('domiciliations.service', ['ngResource', 'breeze', 'loggerService']). 
    factory('Domiciliation', function ($resource, breeze, logger) { 
} 

然后我得到一个错误 '无模块:清风'。

它的工作原理,如果我做的:

angular.module('domiciliations.service', ['ngResource']). 
    factory('Domiciliation', function ($resource, breeze, logger) { 
} 

所以我怎么想指定的微风和记录器的依赖?

回答

16

breeze是不是一个模块 - 它是domiciliations模块中的value (shorthand for service)value('breeze', window.breeze);

当你这样做:

angular.module('domiciliations.service', ['ngResource', 'breeze', 'loggerService']). 
    factory('Domiciliation', function ($resource, breeze, logger) { 
} 

您配置domiciliations.service模块具有相关性的模块ngResourcebreezeloggerService。 Angular找不到breeze模块并引发异常。

假设loggerService是一个模块,logger是服务这个模块中,下面应该工作(breezelogger将在工厂功能得到注入):

angular.module('domiciliations.service', ['ngResource','loggerService']). 
    factory('Domiciliation', ['$resource','breeze','logger', 
    function ($resource, breeze, logger) { 
    } 
    ]) 
+0

啊,对你是谁!我感到困惑,感谢解释,现在很清楚。 – Sam