6

私はモジュールを持っています。これには、構成ブロック、プロバイダー、および定数が定義されています。config ブロックは、定数とプロバイダーの両方を参照します。config ブロックの前後に定数を定義できることに気付きました。ただし、プロバイダーは構成ブロックの前に定義する必要があります。そうしないと、エラーが発生します。

Error: [$injector:modulerr] Failed to instantiate module loadOrder due to:
[$injector:unpr] Unknown provider: greetingsProvider

サンプルコードは次のとおりです。

var myModule = angular.module('loadOrder', []);

//if I define this after the config block, I get an error
angular.module('loadOrder').provider('greetings',[ function(){
    this.$get = [function(){
        return { greet: function(){ return "Hola"; } };
    }];
}]);

myModule.config(['$provide', 'greetingsProvider', 'planetName', function($provide, loadOrderProvider, planetName){
    $provide.value('someVals',[3,6,8]);
    console.log("Lets go to", planetName);
}]);

myModule.constant('planetName', 'Saturn');

どうしてこれなの?config ブロックの後にプロバイダーを定義できないのはなぜですか?

4

1 に答える 1

0

を呼び出しても、providerすぐには何も起こりません。呼び出しは登録され、キューに入れられ、アプリケーションの初期化中に実行されます。configconstant

面白いconstantのは、列の先頭に置かれることです。したがってconfig、何があっても、 の前に利用できます。

于 2014-04-16T20:14:29.593 に答える