ブラウザでAngular 5ページを起動すると、ブラウザコンソールで以下のエラーが発生します。
エラーエラー:StaticInjectorError(AppModule)[AppComponent-> MatDialog]:StaticInjectorError(Platform:core)[AppComponent-> MatDialog]:NullInjectorError:MatDialogのプロバイダーがありません! _NullInjector.webpackJsonp .../../../core/esm5/core.js._NullInjector.get
私は何が欠けていますか?
このエラーは通常、使用しようとしているサービスが@NgModule
で提供されていない場合に発生します。
MatDialog
サービスを使用するには、モジュールファイルに移動して、インポートの配列にMatDialogModule
を追加する必要があります。
import {MatDialogModule} from '@angular/material/dialog';
@NgModule({
imports: [MatDialogModule]
})
export class MyModule {}
ダイアログの使用方法の詳細と一緒にインポートを見つけることができます: https://material.angular.io/components/dialog/api 。
APIをヒットするときに次のエラーが発生することもありますが、そのときにAPIが正しいか間違っているかを確認する必要があります。APIを設定するときにもスペースを確認してください。
Uncaught (in promise): Error: StaticInjectorError(AppModule)[LoginDialogComponent -> InjectionToken MatDialogData]: