Recibo el siguiente error en la consola de mi navegador cuando inicio mi página Angular 5 en el navegador.

Error de ERROR: StaticInjectorError (AppModule) [AppComponent -> MatDialog]: StaticInjectorError (Platform: core) [AppComponent -> MatDialog]: NullInjectorError: ¡No hay proveedor para MatDialog! en _NullInjector.webpackJsonp ... / .. / .. / core / esm5 / core.js._NullInjector.get

¿Qué me estoy perdiendo?

18
Vishwajit R. Shinde 23 feb. 2018 a las 15:10

4 respuestas

La mejor respuesta

Este error generalmente ocurre cuando el servicio que está intentando usar no se ha proporcionado en su @NgModule.

Para usar el servicio MatDialog, deberá ir al archivo del módulo y agregar MatDialogModule a la matriz de importaciones:

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

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

Puede encontrar la importación junto con más información sobre cómo usar el diálogo aquí: https: // material. angular.io/components/dialog/api.

35
vince 23 feb. 2018 a las 13:20

Intenta declarar fuera del Constructor e inicializar dentro del constructor

Mi código como este Mi interfaz está abajo

export interface DoctorDetails
    {
        UserId:number,
        DoctorId:number,
        FirstName:string,
        LastName:string, 
        Speciality:string,
        EmailId:string,
        PhoneNumber1:string,
        PhoneNumber2:string,
        CountryName:string,
        StateName:string,
        city:string,
        AddressLine1:string,
        HospitalName:string,
        PrimaryMark:number
    }

Mi declaración e inicialización es como a continuación

export class DoctorDetailsComponent implements OnInit {
  url:string="http://hospitalapi.com/api/doctor/GetDoctor/";
  doctor:DoctorDetails[];//Declare
  constructor(private route:ActivatedRoute,
    private http:HttpService
    ) { 
      const id =route.snapshot.paramMap.get("id");
      console.log(id);
      this.url = this.url+id;  
      this.doctor = new Array<DoctorDetails>();//Initialize
    
    }
-2
Rajesh Pany 6 ago. 2019 a las 10:45

Lanzar un error, si no se suministran datos con los datos de @Inject (MAT_DIALOG_DATA): ninguno. Intenta proporcionar datos predeterminados. También el nombre del componente de diálogo debe estar en entryComponents en el módulo respectivo.

0
Rohan Shenoy 5 nov. 2019 a las 07:02

A veces, el siguiente error también se produce cuando desea golpear la API y en ese momento debe verificar si la API es correcta o incorrecta, también verifique los espacios cuando configure la API.

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

3
amanb 16 mar. 2019 a las 10:04