javascript - Angular - 来自提供商的未知提供商

标签 javascript angularjs coffeescript angularjs-service

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

这是我的提供商:

    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
          }
        ]
      }
    ]

这是我的应用+配置 block :

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
...

我收到以下错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module 1425App due to: Error: [$injector:unpr] Unknown provider: ODataProvider

这让我相信,将提供者注入(inject)我的应用程序是一个问题。知道我缺少什么吗?

最佳答案

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

将配置 block 与应用程序注册分开,并在您的提供商注册后加载它。您只能配置在使用它的特定配置 block 之前注册的提供者。 constant 不是这种情况,尽管您可以按任何顺序注册它们。

以上信息(这是一个错误)是 1.2.* 版本的 Angular,在 1.3 中你甚至可以在配置 block 之后注册提供者。

关于javascript - Angular - 来自提供商的未知提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307318/

相关文章:

Node.js 类问题,或者我做错了什么?

CoffeeScript 函数括号

coffeescript - 你如何在 Coffeescript 中编写一个空的 while 循环?

javascript - Backbone JS : Where does parameter representing model in collection view come from?

javascript - 为什么在 fetch promise 和 this.setState 之后打印控制台日志,当我单击按钮时

javascript - 为什么在 angularjs 中 $http.post 的成功或错误回调函数没有正确执行

javascript - 以密码格式屏蔽信用卡号码的某些数字

javascript - 单击 Javascript 中的按钮显示 android DatePicker

javascript - 使用 KnockoutJS,如何绑定(bind)到数组项的子属性

javascript - 具有多个动态选择框angularjs