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