[解決済み] コンストラクタ注入を行わずにサービスのインスタンスを取得する
2022-10-17 02:31:30
質問
私は
@Injectable
サービスが定義されています。私は、コンストラクタ注入を使用せずにサービスのインスタンスを取得したいと思います。私は
ReflectiveInjector.resolveAndCreate
を使ってみましたが、それは新しいインスタンスを作成するようです。
私がしようとしている理由は、多くのコンポーネントによって派生したベースコンポーネントがあることです。サービスにアクセスする必要がありますが、すべての派生コンポーネントでサービスをインジェクトしたくないので、ctorにそれを追加したくありません。
TLDR: 私は
ServiceLocator.GetInstance<T>()
UPDATEです。 RC5+に対応したコードを更新しました。 コンポーネントで使用するためのインジェクタのインスタンスを保存する
どのように解決するのですか?
はい。
ReflectiveInjector.resolveAndCreate()
は新しい、接続されていないインジェクタのインスタンスを作成します。
Angularsをインジェクションすることができます。
Injector
のインスタンスを注入し、そこから希望するインスタンスを
constructor(private injector:Injector) {
injector.get(MyService);
}
を格納することもできます。
Injector
をグローバル変数に格納し、このインジェクタインスタンスを使用して、例えば、次のように、提供されたインスタンスを取得することもできます。
https://github.com/angular/angular/issues/4112#issuecomment-153811572
関連
-
[解決済み】アンギュラーコンポーネントにサービスを注入しようとするとエラー "EXCEPTION: Can't resolve all parameters for component"、なぜ?
-
[解決済み] コンストラクタとngOnInitの違いについて
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] trackBy` と `ngFor` の使い方
-
[解決済み] プロパティ 'X' はプライベートであり、クラス 'xyzComponent' 内でのみアクセス可能です。
-
[解決済み] Angular / Angular Materialでmat-horizontal-stepperのステップをプログラムで移動させることは可能ですか?
-
[解決済み] Angular2 bodyタグにクラスを追加する
-
[解決済み] RxJSのmap演算子でエラーを出す方法 (angular)
-
[解決済み] Error: モジュールによってインポートされた予期しない値 'undefined'。
-
[解決済み] Angular2 formGroupに値を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] angular-cliのビルドでカスタムファイルをインクルードするには?
-
[解決済み] .tsファイルはTypeScriptのコンパイルの一部ですが、使用されていませんという警告を消すには?
-
[解決済み] AngularでEventEmitterに2つのパラメータを渡すには?
-
[解決済み] Angular CLIで特定のバージョンのAngularをインストールするには?
-
[解決済み] Angularで、コントロールが作成された後、FormControlにバリデータを追加する方法は?
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] 文字列|ヌル'型の引数は、文字列'型のパラメータに代入できません。タイプ 'null' はタイプ 'string' に割り当てられません。
-
[解決済み] RxJSのmap演算子でエラーを出す方法 (angular)
-
[解決済み] Angular 2で入力タグのファイルタイプで選択されたファイルをリセットする方法は?
-
[解決済み] Angular2 DIRECTIVEは要素の既知のプロパティではないので、バインドできません。