错误:[$injector:unpr]未知提供商:ngCsv <- ngCsv <- dynamicDemoContro

Error: [$injector:unpr] Unknown provider: ngCsvProvider <- ngCsv <- dynamicDemoController

本文关键字:ngCsv dynamicDemoContro 提供商 未知 injector unpr 错误      更新时间:2023-09-26

下面是我的场景:

  • 文件A.js定义主模块。
  • file B.js惰性加载(angular引导后),包含一个控制器和一些指令。

文件 A.js :

var APP = angular.module('app.hello', ['ui.router', 'ngAnimate', 'ngTable', 'ngSanitize', 'ngCsv']);
(function() {
  APP.config(function ($controllerProvider, $compileProvider) {
    APP.loadController = $controllerProvider.register;
    APP.loadDirective = $compileProvider.directive;
  });
})();

文件研究:

(function() {
  "use strict";
  APP.loadController("dynamicDemoController", dynamicDemoController);
  dynamicDemoController.$inject = ["NgTableParams", "ngCsv"]; // <-- err
  function dynamicDemoController(NgTableParams, CSV) {
   // ...
  }
})();

我正在完美地注入NgTableParams,但我无法"注入"ngCsv模块,我在控制台上得到这个错误:

错误:[$injector:unpr]未知提供商:ngCsv <- ngCsv <-dynamicDemoController

你知道我可能错过了什么吗?

你正试图在你的controller注入一个模块,这就是为什么它会导致错误。

  dynamicDemoController.$inject = ["NgTableParams", "ngCsv"]; // <-- err

ngCsvmodule而不是service

模块的加载应该限制在angular.module

var myapp = angular.module('myapp', ['ngCsv'])