2016-11-02 8 views
1

は私のシナリオです:メインモジュールを定義

  • ファイルA.js
  • ファイルB.jsコントローラといくつかのディレクティブが含まれている遅延ロード(角度ブートストラップ後)。

ファイル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を注入していますが、私は「注入することができませんよ"ngCsvモジュールと私はコンソールでこのエラーが表示されます:

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

私はおそらく何か不足していますか?

答えて

2

controllerにモジュールを注入しようとしています。そのため、その原因となるエラーです。

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

ngCsvmoduleないserviceです。

モジュールの読み込みは、angular.moduleに限定する必要があります。

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

解決策は何ですか? ngCsvのドキュメントを参照すると、ngCsvはコントローラ上でhttps://github.com/asafdav/ng-csv/wiki/Using-CSV-as-Serviceの「サービス」を公開する必要があります。 –

+1

ちょうどCSVを注入する... ngCsvではない... ngCsvモジュールをロードすると、あなたもCSVサービスを受ける。 – Thalaivar

+1

モジュールがこのサービスを保持する、https://github.com/asafdav/ng-csv/blob /master/src/ng-csv/services/csv-service.js – Thalaivar

関連する問題