web-dev-qa-db-fra.com

'mat-label' n'est pas un élément connu Erreur dans le dernier matériau angulaire

J'ai une erreur dans mon matériel angulaire:

compiler.js:466 Uncaught Error: Template parse errors:
'mat-label' is not a known element:
1. If 'mat-label' is an Angular component, then verify that it is part of this module.
2. If 'mat-label' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
        </mat-form-field>
        <mat-form-field>
            [ERROR ->]<mat-label>Both a label and a placeholder</mat-label>
            <input matInput placeholder="Simple"): 

Question:

L'étiquette de matériau est sous MatFormFieldModule Voici le lien

Maintenant, quelle est la cause possible du problème qui explique pourquoi Mat-Label est inconnu du matériau angulaire.

Voici le HTML

<mat-form-field>
          <mat-label>Both a label and a placeholder</mat-label>
          <input matInput placeholder="Simple placeholder">
</mat-form-field>
7
Randz67

Améliorez @ angular/material en "5.2.0" et le problème disparaîtra.

1
Mateusz Stefek

Si vous avez plusieurs modules, assurez-vous que vous importez la MatFormFieldModule dans chaque module. Il ne suffit pas de l'importer dans le module racine.

Par exemple, j'ai un CommonWidgetsModule qui contient des widgets courants (le mien) mais je n'avais importé que MatFormFieldModule dans le fichier app.module.ts.

// common-widgets.module.ts

@NgModule({
  imports: [
    CommonModule,
    SharedModule,
    RouterModule,

    MatIconModule,
    MatFormFieldModule
  ],
  declarations: DECLARATIONS,
  exports: DECLARATIONS
})
export class CommonWidgetsModule { }
0
Simon_Weaver