[英]Angular - Unknown Provider from Provider
I have the strange issue, that somehow my own provider is not injecting correctly into my app. 我有一个奇怪的问题,不知何故我自己的提供商没有正确注入我的应用程序。
This is my provider: 这是我的提供者:
angular.module '1425App'
.provider 'OData',[() ->
@_baseUrl = ''
return {
setBaseUrl: (value) ->
@_baseUrl = value
return
$get: ['$http', '$q', ($http, $q) ->
return {
getAll: (resource) ->
dfd = $q.defer()
$http.get("#{@_baseUrl}/#{resource}").success (res) ->
console.log res
dfd.resolve()
return
return dfd.promise
}
]
}
]
This is my app + config block: 这是我的app +配置块:
angular.module('1425App', [
'ngCookies',
'ngResource',
'ngSanitize',
'ui.router',
'angular-loading-bar',
'ngAnimate',
'toaster',
'ui.gravatar',
'ngFitText',
'google-maps',
'mm.foundation',
'restangular',
'ui.select2',
'ngTable',
'ngGrid',
'ngCsv',
'ui.date',
'ngDragDrop',
'ui.sortable'
])
.config ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, cfpLoadingBarProvider, baseUrl, ODataProvider) ->
$httpProvider.interceptors.push('httpInterceptor')
ODataProvider.setBaseUrl(baseUrl + '/odata/')
cfpLoadingBarProvider.includeSpinner = false
...
Im getting following error: 我得到以下错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module 1425App due to: Error: [$injector:unpr] Unknown provider: ODataProvider
未捕获错误:[$ injector:modulerr]由于以下原因无法实例化模块1425App:错误:[$ injector:unpr]未知提供者:ODataProvider
This leads to my believe, that its an issue with injecting the provider into my app. 这导致我相信,这是将提供程序注入我的应用程序的问题。 Any idea what im missing?
知道我缺少什么吗?
Looking at you pasted snippet issue could be that you have config block appearing before oData
provider has been registered. 查看粘贴的代码片段问题可能是您在
oData
提供程序注册之前出现了配置块。 Try setting up the config block after the oDataProvider registration. 尝试在oDataProvider注册后设置配置块。
Separate out config block from app registration and load it after your provider(s) have been registered. 从应用程序注册中分离出配置块,并在您的提供商注册后加载它。 You can only configure the providers that are registered before the specific config block that uses it.
您只能配置在使用它的特定配置块之前注册的提供程序。 This is not the case with
constant
though you can have them registered in any order. 这是不符合的情况下
constant
,虽然你可以让他们以任何顺序登记。
The above information (which was a bug) is as of 1.2.* version of angular, with 1.3 you can register providers even after the config block. 以上信息(这是一个错误)是1.2。*版本的角度,1.3即使在配置块后你也可以注册提供者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.