注入可能なサービスを作成することは、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>`,
初めてサービスをコンポーネントに注入できました。素晴らしい取り組みです。