Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度-提供程序中的未知提供程序_Javascript_Angularjs_Coffeescript_Angularjs Service - Fatal编程技术网

Javascript 角度-提供程序中的未知提供程序

Javascript 角度-提供程序中的未知提供程序,javascript,angularjs,coffeescript,angularjs-service,Javascript,Angularjs,Coffeescript,Angularjs Service,我有一个奇怪的问题,不知何故我自己的提供商没有正确地注入我的应用程序 这是我的提供商: angular.module '1425App' .provider 'OData',[() -> @_baseUrl = '' return { setBaseUrl: (value) -> @_baseUrl = value return $get: ['$http', '$q',

我有一个奇怪的问题,不知何故我自己的提供商没有正确地注入我的应用程序

这是我的提供商:

    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
          }
        ]
      }
    ]
这是我的应用程序+配置块:

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
...
我收到以下错误:

未捕获错误:[$injector:modulerr]未能实例化模块 1425由于以下原因导致的应用程序:[$injector:unpr]未知提供程序: ODataProvider


这让我相信,将提供商注入我的应用程序是一个问题。知道我遗漏了什么吗?

看看您粘贴的代码片段问题,可能是您在注册
oData
提供程序之前出现了配置块。尝试在oDataProvider注册后设置配置块

将配置块从应用程序注册中分离出来,并在注册提供商后加载它。您只能配置在使用它的特定配置块之前注册的提供程序。
constant
的情况并非如此,尽管您可以按任何顺序注册它们


以上信息(这是一个bug)是angular的1.2.*版本,使用1.3,即使在配置块之后,您也可以注册提供程序。

@mlang欢迎您。如果升级到1.3 rc,则不应面临此问题。