サービスを注入しようとした際に、対応するプロバイダーが宣言されていない場合にこのエラーが発生します。プロバイダーは、アプリケーションのクラスのコンストラクターに注入できる値を提供するマッピングです。
プロバイダーの詳細については、依存性の注入ガイドをご覧ください。
エラーのデバッグ
エラーでプロバイダーが見つからないとされているオブジェクトから逆方向に作業します。No provider for ${this}!
は、一般的に、存在しないプロバイダーを必要とするサービスでスローされます。
エラーを修正するには、サービスが NgModule
のプロバイダーリストに登録されているか、@Injectable
デコレーターに providedIn
プロパティがあることを確認します。
最も一般的な解決策は、@Injectable
で providedIn
を使用してプロバイダーを追加することです。
@Injectable({ providedIn: 'app' })