Angularの依存性の注入(DI)は、フレームワークの最も強力な機能の1つです。依存性の注入は、Angularが実行時にアプリケーションが必要とするリソースを_提供_できる機能であると考えてください。依存性は、サービスやその他のリソースである可能性があります。
Angularドキュメントで依存性の注入について詳しく知ることができます。ここでは、注入可能な
リソースの作成を練習します。
このアクティビティでは、注入可能なサービスを作成する方法を学びます。
サービスを使用する1つの方法は、データやAPIとの対話方法として機能させることです。サービスを再利用可能にするため、サービス内のロジックを保持し、必要に応じてアプリケーション全体で共有する必要があります。
サービスをDIシステムによって注入されるようにするには、@Injectable
デコレーターを使用します。例えば:
@Injectable({ providedIn: 'root'})class UserService { // データを取得して返すためのメソッド}
@Injectable
デコレーターは、DIシステムにUserService
がクラス内で要求できることを教えます。providedIn
は、このリソースが利用可能なスコープを設定します。現時点では、providedIn: 'root'
はUserService
がアプリケーション全体で利用可能であることを意味すると理解しておけば十分です。
では、試してみましょう。
-
@Injectable
デコレーターを追加するcar.service.ts
のコードを更新して、@Injectable
デコレーターを追加します。 -
デコレーターを構成する
デコレーターに渡されるオブジェクトの値は、デコレーターの構成と見なされます。
car.service.ts
の@Injectable
デコレーターを更新して、providedIn: 'root'
の構成を含めます。ヒント:上記の例を使用して、正しい構文を確認してください。
よくできました👍このサービスは今や注入可能
になり、気軽に組み込めます。サービスが注入可能
になったので、コンポーネントに注入してみましょう👉