注入可能なサービスを作成することは、Angularの依存性の注入 (DI) システムの最初の部分です。サービスをコンポーネントにどのように注入するか?Angularには、適切なコンテキストで使用できる便利な関数 inject() があります。
NOTE: 注入コンテキストの詳細はこのチュートリアルの範囲外ですが、詳しくは 依存性の注入 (DI) の基本ガイド や DI コンテキストガイド を参照してください。
このアクティビティでは、サービスを注入してコンポーネントで使用する方法を学びます。
DIシステムから提供される値でクラスのプロパティを初期化すると、多くの場合役立ちます。例を以下に示します。
@Component({...})class PetCareDashboard { petRosterService = inject(PetRosterService);}
-
CarServiceを注入するapp.tsで、inject()関数を使用してCarServiceを注入し、carServiceという名前のプロパティに割り当てます。NOTE: プロパティ
carServiceとクラスCarServiceの違いに注意してください。 -
carServiceインスタンスを使用するinject(CarService)を呼び出すと、アプリケーションで使用できるCarServiceのインスタンスが得られます。このインスタンスはcarServiceプロパティに格納されます。displayプロパティを次の実装で初期化します。display = this.carService.getCars().join(' ⭐️ '); -
Appテンプレートを更新するapp.tsのコンポーネントテンプレートを次のコードで更新します。template: `<p>Car Listing: {{ display }}</p>`,
初めてサービスをコンポーネントに注入できました。すばらしい取り組みです。