この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 1359|答える: 1

[角] Angular 18シリーズ(28)インジェクショントークンの簡単な紹介

[リンクをコピー]
2024年12月20日 16:02:20に投稿 | | | |
Angularは、シングルページアプリケーション(SPA)を構築する強力な手段を提供する人気のあるフロントエンドJavaScriptフレームワークです。 Angularにおいて、依存性注入(DI)はアプリケーション内の依存関係を効率的に管理するための重要な機能です。 Angularの依存注入システムは、特定の依存性注入要件を実装するためにInjectionTokensを使用しています。 この記事では、InjectionTokenが何をするのかを詳しく説明し、Angularアプリケーションでの実用的な使い方を示す例を紹介します。

依存注入とは何ですか?

InjectionTokenに入る前に、まず依存注入とは何かを理解しましょう。 依存性注入は、あるオブジェクト(例:サービスや構成)の依存関係をハードコーディングせずに別のオブジェクトに注入できる設計パターンです。 この利点には以下が含まれます:

1. 保守性:依存関係をコンポーネントに注入することで、広範なコードを修正せずにこれらの依存関係を簡単に変更できます。
2. 検証安定性:実際に依存関係のインスタンスを作成することなく、コンポーネントのシミュレート依存関係を簡単に提供してユニットテストを行うことができます。
3. 緩い結合:依存注入は緩やかな結合を実現し、個々のコンポーネント間の関係をより柔軟にします。

Angularでは依存注入が組み込まれており、依存関係の生成とライフサイクルを管理する役割はAngularの依存注入コンテナです。

なぜInjectionTokenが必要なのですか?

時には依存関係を注入する必要があるクラスのインスタンスではなく、構成項目、文字列、その他のクラス以外の値です。 ここでInjectionTokenの登場です。非クラス値を依存関係としてコンポーネントやサービスに注入することを可能にします。

InjectionTokenは何をするのか?

InjectionTokenの役割は、依存関係を識別する識別子を定義することです。 これにより、クラスのインスタンスだけでなく、Angularのコンポーネントやサービスに任意の値を注入できます。 通常、アプリケーションのどこかにInjectionTokenを作成し、その値を注入する場所で使います。

以下はInjectionTokenの主な機能です:

1. 一意識別:InjectionTokenは依存関係の一意性を保証する一意識別子です。 これは依存関係の混乱や競合を防ぐために重要です。
2. 非クラス依存性注入:InjectionTokenはクラスのインスタンスだけでなく任意の値を注入できます。 これは構成、定数、文字列などのシナリオで有用です。
3. プロバイダー設定:プロバイダー設定を通じて、InjectionTokenの依存インスタンスの提供方法をAngularに伝えることができます。 これにより、異なる文脈で異なるInjectionTokensの値を提供できます。

では、InjectionTokenの使用例と役割について詳しく説明しましょう。

アプリ設定を注入してください

例えば、アプリケーション構成にURLアドレスと環境名を注入すると、コードは以下の通りです。


コンストラクタ注入からのプリントアウトは以下の通りです:



参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。




先の:.NET/C#コンソールサービスはConsulサービスディスカバリーに登録されています
次に:Alibaba Cloud OpenAPI APIを呼び出してサーバー使用状況を調べてください
 地主| 2025年2月17日 13:36:08 に投稿 |
InjectionTokenとBehaviorSubjectは結合してグローバルな動的値を構築します




免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com