【问题标题】:Issue with loading Angular $window加载 Angular $window 的问题
【发布时间】:2016-05-29 00:40:29
【问题描述】:

您好,我正在尝试在下面的模块中使用 $window 对象。

var testInterceptor = function($provide,$httpProvider,$window){
    // actual Code
}

angular.module('MyApp')
    .config(testInterceptor);

但页面抛出如下错误

未捕获的错误:[$injector:modulerr] 无法实例化模块 MyApp,原因如下: 错误:[$injector:unpr] 未知提供者:$window

请帮我解决这个问题。

【问题讨论】:

  • 你不能在配置阶段使用它。

标签: angularjs


【解决方案1】:

$window 是一项服务,不能在配置阶段使用。 此处只能使用 providersconstants

阅读文档。 https://docs.angularjs.org/guide/module

配置块 - 在提供者注册和配置阶段执行。只有提供者和常量可以注入到配置块中。这是为了防止在完全配置之前意外实例化服务。

您可以将必要的代码放在运行阶段。因为你可以在这里使用服务。

【讨论】:

    【解决方案2】:

    试试这个。 (http://codepen.io/anon/pen/jWRmqZ)

    var testInterceptor = function($provide,$httpProvider,$window){
       // More Code
    }
    
    angular.module('MyApp', [])
       .config(['$provide','$httpProvider','$window', testInterceptor]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 2017-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多