注入可能なサービスを作成することは、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に関するセクションを終了する前に、コンポーネントにリソースを注入する別の構文を学びます。