自己完結型に設計された角度モジュールがあります。消費するアプリは、url パラメーターを使用してディレクティブを追加でき、ウィジェットとやり取りするときにその URL を全体的なデータ ソースとして使用します。これには、$http を使用してデータをロードする一般的な LoadService があり、特定の JSON 形式でウィジェットを実行する必要があります。
現在、誰かがカスタム ロード サービスを作成してモジュールに注入できるようにリファクタリングしようとしていますが、注入されていない場合はデフォルトのデータ ロードが使用されます。したがって、モジュールを消費しているアプリによって定義されている場合、 CustomLoadService が注入される方法を作成する方法を見つけようとしています。ただし、カスタム サービスが定義されていない場合でもエラーになることはなく、デフォルト サービスを使用する必要があります。
を調べていて、$injector.get
その可能性があると考えていましたが$injector
、コントローラに を挿入するのに問題があります。$location
注射するだけなら簡単だと思いました。何かのようなもの...
angular
.module('Widget')
.controller('WidgetController',[
'$scope',
'WidgetLoadService',
'$injector',
WidgetController
]);
この方法はうまくいかないようなので、疑問に思っています...この問題を解決するための最も「角度のある方法」は何ですか。$injector をどのように使用すればよいですか。