以下是我的情景:
档案 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;
});
})();
文件 B.js :
(function() {
"use strict";
APP.loadController("dynamicDemoController", dynamicDemoController);
dynamicDemoController.$inject = ["NgTableParams", "ngCsv"]; // <-- err
function dynamicDemoController(NgTableParams, CSV) {
// ...
}
})();
我完美地注射NgTableParams
,但我无法注射&#34; ngCsv
模块,我在控制台中收到此错误:
错误:[$ injector:unpr]未知提供者:ngCsvProvider&lt; - ngCsv&lt; - dynamicDemoController
知道我可能错过了什么吗?
答案 0 :(得分:2)
您正试图在controller
中注入一个模块,这就是导致错误的原因。
dynamicDemoController.$inject = ["NgTableParams", "ngCsv"]; // <-- err
ngCsv
是module
而不是service
。
模块的加载应限制为angular.module
。
var myapp = angular.module('myapp', ['ngCsv'])