、あなたのアプリケーションにprovider
を注入アプリケーションのコンフィグレーションフェーズと呼ばれています。このフェーズでは、まだ作成されていないためアクセスできません。 (参照番号:https://docs.angularjs.org/guide/providers)。
あなたがservice
、factory
、controller
注入 - それは、実行ブロック内に注入されます - そこには、プロバイダ(例えばCustomService
など)のサービスを注入することはできませんが、 - あなたが注入されていなかったので、それは(OKです参照番号https://docs.angularjs.org/guide/di)。
あなたのCustomService
サービスにプロバイダを作成することができます
app.provider("CustomService", function() {
... LOGIC GOES HERE (PUT GENERAL LOGIC RELATED TO THE SETUP PHASE OF THE SERVICE)
});
そして、あなたはmyStateProvider
後でにそれを注入することができるでしょう:
app.provider("myStateProvider", function ($stateProvider, CustomServiceProvider) { ... });
最後の事:追加しないでくださいプロバイダプロバイダー名にを追加するだけです。
app.provider("myState", function ($stateProvider) {
});
WHY?注入する必要がある場合は、myStateProviderProvider
を注入する必要があります(Angularは自動的に "プロバイダ"を追加します)
あなたのアプリのどこにいてもかまいませんか?app.provider( "CustomService"、..... '? –
app.service( 'CustomService'、function($ resource){})のようなサービスがあります; –
私の答えを見てください、それが助けてくれることを願って –