0

次のコード スニペットに示すように、角度モジュール A で定義されたプロバイダーがあり、B などの別の角度モジュールの構成でそれを使用しようとしています。

var A = (function(ng){
'use strict';

var a = ng.module('A',[]);

a.provider('MyProvider', function(){
    this.$get = ['$q', function($q){
        return new myService($q);
    }]
});

function myService($q){
    var data = // Some data
    this.getAllData = function(){
        return $q(function(resolve,reject){
            resolve(data)
        });
    }
}

//ng.bootstrap(a);

return a;
})(angular);

アプリBは次のとおりです。

//IIFE pattern for modularization

var B = (function(angular) {
    'use strict';


// initialize the Angular app
var b = angular.module('B', ['ui.router', 'A']);

b.config(config);

function config($stateProvider, $urlRouterProvider, myProvider){
    myProvider.getAlldata().then(function(data){
        //do some processing on data related to routes...
    }, function(err){
        //handle Err
    }); 
}


return b;
})(angular);

今、私は次のようなエラーを取得しています:

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module ngApp due to:Error: [$injector:unpr] Unknown provider: RouteProvider

誰かがこれを解読するのを手伝ってくれませんか? ありがとうございました。

4

1 に答える 1

0

どうやら、関数のmyProviderように参照する必要があります。プロバイダーの命名についてです。次に、他のサービス/ファクトリへの依存関係として使用できます。ここで、 (その問題については任意のプロバイダー)のメソッドで返されたインスタンスが、依存するサービス/ファクトリで使用できるようになります。myProviderProviderconfigmyProvider$getmyProvider

それほど明確でない場合は、理解した人が答えを開発できます。最良のものを答えとしてマークします。ありがとうございました。

于 2016-06-04T20:20:05.990 に答える