无法在配置中注入我的提供程序

 一克拉白勺的眼泪 发布于 2023-02-04 14:08

我有app/providers/weather.js:

angular.module('forecast').provider('Weather', function() {    
  var apiKey;

  this.setApiKey = function(key) {
    if(key) apiKey = key;
  };

  this.$get = function() {
    return {
      ... // Some methods
    };
  };    
});

而我正试图将其注入我的config块中:

angular.module('forecast', ['ngRoute']).config(function(WeatherProvider) {    
  WeatherProvider.setApiKey('hello1234');    
});

但是我得到:

Uncaught Error: [$injector:modulerr] Failed to instantiate module forecast due to:
Error: [$injector:unpr] Unknown provider: WeatherProvider

奇怪的是,我可以成功注入Weather控制器并可以访问这些方法this.$get.

我的index.html:




  
  Forecast



  

我无法找出错误原因.我正在运行Angular 1.2.8.

1 个回答
  • 您正在使用一个模块'forecast',因此在这种情况下,我们应该/必须确保配置已经可以访问提供程序.换句话说,设置这种步骤:

    // I. Module creation
    angular.module('forecast', ['ngRoute']) 
      // II. Provider definition
      .provider('Weather', function() {    
        ...
      }
      // III. configuration using already known provider
      .config(function(WeatherProvider) {    
        ...
      })
    ;
    

    2023-02-04 14:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有