注入可能なサービスの作成

Angularの依存性の注入(DI)は、フレームワークの最も強力な機能の1つです。依存性の注入は、Angularが実行時にアプリケーションが必要とするリソースを_提供_できる機能であると考えてください。依存性は、サービスやその他のリソースである可能性があります。

Angularドキュメントで依存性の注入について詳しく知ることができます。ここでは、注入可能なリソースの作成を練習します。

このアクティビティでは、注入可能なサービスを作成する方法を学びます。


サービスを使用する1つの方法は、データやAPIとの対話方法として機能させることです。サービスを再利用可能にするため、サービス内のロジックを保持し、必要に応じてアプリケーション全体で共有する必要があります。

サービスをDIシステムによって注入されるようにするには、@Injectableデコレーターを使用します。例えば:

      
@Injectable({    providedIn: 'root'})class UserService {    // データを取得して返すためのメソッド}

@Injectableデコレーターは、DIシステムにUserServiceがクラス内で要求できることを教えます。providedInは、このリソースが利用可能なスコープを設定します。現時点では、providedIn: 'root'UserServiceがアプリケーション全体で利用可能であることを意味すると理解しておけば十分です。

では、試してみましょう。

  1. @Injectableデコレーターを追加する

    car.service.tsのコードを更新して、@Injectableデコレーターを追加します。

  2. デコレーターを構成する

    デコレーターに渡されるオブジェクトの値は、デコレーターの構成と見なされます。
    car.service.ts@Injectableデコレーターを更新して、providedIn: 'root'の構成を含めます。

    ヒント:上記の例を使用して、正しい構文を確認してください。

よくできました👍このサービスは今や注入可能になり、気軽に組み込めます。サービスが注入可能になったので、コンポーネントに注入してみましょう👉