5 votes

Valeur inattendue 'MatDialogRef' importée par le module 'AppModule'. Veuillez ajouter une annotation @NgModule.

J'essaie d'intégrer Angular Material dans Angular mais j'obtiens l'erreur suivante. Le programme est compilé avec succès mais j'obtiens ce problème dans le navigateur.

Uncaught Error: Unexpected value 'MatDialogRef' imported by the module 'AppModule'. Please add a @NgModule annotation.
    at syntaxError (compiler.js:485)
    at eval (compiler.js:15226)
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15201)
    at JitCompiler._loadModules (compiler.js:34385)
    at JitCompiler._compileModuleAndComponents (compiler.js:34346)
    at JitCompiler.compileModuleAsync (compiler.js:34240)
    at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:239)
    at PlatformRef.bootstrapModule (core.js:5551)
    at eval (main.ts:11)

J'ai importé MatDialogRef dans app.module.ts

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

imports: [
    BrowserModule,
    FormsModule,
    BrowserAnimationsModule,
    MatButtonModule,
    MatDialogModule,
    MatDialogRef,
    ReactiveFormsModule,
    HttpModule,
    HttpClientModule,
    AppRoutingModule
  ],

Je l'ai également importé dans le composant où le dialogue html est enregistré.

import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';

export class ComposeMailComponent implements OnInit {

constructor(private dialogRef: MatDialogRef<ComposeMailComponent>,
      @Inject(MAT_DIALOG_DATA) private data) {}

  ngOnInit() {
  }
}

7voto

Sajeetharan Points 108195

Vous n'avez pas besoin d'importer MatDialogRef dans app.module.ts, Modifier

De

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

Pour

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

et supprimer MatDialogRef de imports réseau

2voto

Menna Ramadan Points 306

Ajouter ces éléments dans le fichier app.module.ts

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

importations : [ MatDialogModule ],

cela fonctionnera très bien

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X