我已经定义了我的主要模块:
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) {
}
然后我收到错误'no module:breeze'。
如果我这样做,那就有效:
angular.module('domiciliations.service', ['ngResource']).
factory('Domiciliation', function ($resource, breeze, logger) {
}
那我怎么想在微风和记录器上指定依赖?
答案 0 :(得分:17)
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
模块配置为模块ngResource
,breeze
和loggerService
的依赖项。 Angular找不到breeze
模块并抛出异常。
假设loggerService
是一个模块且logger
是此模块中的服务,则以下内容应该有效(breeze
和logger
将在工厂函数中注入):
angular.module('domiciliations.service', ['ngResource','loggerService']).
factory('Domiciliation', ['$resource','breeze','logger',
function ($resource, breeze, logger) {
}
])