web-dev-qa-db-ja.com

Angular material StaticInjectorError:MatDialogのプロバイダーがありません

ブラウザでAngular 5ページを起動すると、ブラウザコンソールで以下のエラーが発生します。

エラーエラー:StaticInjectorError(AppModule)[AppComponent-> MatDialog]:StaticInjectorError(Platform:core)[AppComponent-> MatDialog]:NullInjectorError:MatDialogのプロバイダーがありません! _NullInjector.webpackJsonp .../../../core/esm5/core.js._NullInjector.get

私は何が欠けていますか?

13

このエラーは通常、使用しようとしているサービスが@NgModuleで提供されていない場合に発生します。

MatDialogサービスを使用するには、モジュールファイルに移動して、インポートの配列にMatDialogModuleを追加する必要があります。

import {MatDialogModule} from '@angular/material/dialog';

@NgModule({
  imports: [MatDialogModule]
})
export class MyModule {}

ダイアログの使用方法の詳細と一緒にインポートを見つけることができます: https://material.angular.io/components/dialog/api

22
vince

APIをヒットするときに次のエラーが発生することもありますが、そのときにAPIが正しいか間違っているかを確認する必要があります。APIを設定するときにもスペースを確認してください。

Uncaught (in promise): Error: StaticInjectorError(AppModule)[LoginDialogComponent -> InjectionToken MatDialogData]:

2
mini nimi