J'ai mis à jour la version angulaire 8 à angulaire 9 et également mis à jour le matériel angulaire à la version 9, mais cela ne fonctionne pas et ne montre aucune erreur. comment le réparer.

Voici le module matériel de code

import { NgModule } from '@angular/core';
import {MatButtonModule} from '@angular/material/button';

 @NgModule({
  declarations: [],
  imports: [
    MatButtonModule
  ] 
})
export class MaterialModule { }

App-component.html

<h3>Stroked Buttons</h3>
 <div class="example-button-row">
  <button mat-stroked-button>Basic</button>
  <button mat-stroked-button color="primary">Primary</button>
  <button mat-stroked-button color="accent">Accent</button>
  <button mat-stroked-button color="warn">Warn</button>
  <button mat-stroked-button disabled>Disabled</button>
  <a mat-stroked-button routerLink=".">Link</a>
 </div>

App.module

 import { BrowserModule } from '@angular/platform-browser';
 import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
 import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform browser/animations';
 import { MaterialModule } from './angular-material/material/material.module';
  import { MatButtonModule } from '@angular/material/button';



@NgModule({
 declarations: [
  AppComponent
 ],
 imports: [
   BrowserModule,
   AppRoutingModule,
   BrowserAnimationsModule,
    MaterialModule,    
  ],
  providers: [],
  bootstrap: [AppComponent],
  schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
 })
 export class AppModule { }
4
Shubham Patil 14 févr. 2020 à 10:35

3 réponses

Meilleure réponse

Vous devrez peut-être également ajouter des modules de matériaux aux exportations comme suit :

import { NgModule } from '@angular/core'; 

import {MatButtonModule} from '@angular/material/button';

@NgModule({
   declarations: [],
   imports: [ MatButtonModule ],
   exports: [ MatButtonModule ]
})

export class MaterialModule { }

Voici un exemple d'un material.module que j'utilise dans un projet :

import { NgModule } from '@angular/core';

import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatToolbarModule } from '@angular/material/toolbar';

const mat = [
  MatButtonModule,
  MatIconModule,
  MatMenuModule,
  MatSidenavModule,
  MatSlideToggleModule,
  MatToolbarModule,
];

@NgModule({
  imports: [
    ...mat,
  ],
  exports: [
    ...mat,
  ],
})
export class MaterialModule { }

De cette façon, tout ce qui est ajouté au tableau sera importé et exporté vers d'autres modules.

2
Nicholas Pesa 17 févr. 2020 à 22:02

La bibliothèque de matériaux angulaires (@angular/material/*) n'a pas été traitée correctement par ngcc, ou n'est pas compatible avec Angular Ivy (vs.9).

Ajouter dans package.json

"scripts": {
    "postinstall": "ngcc"
  },
1
Jyotirmoy Upadhaya 1 janv. 2021 à 12:41

Pour ceux d'entre vous qui ont encore du mal, et je ne sais pas pourquoi ce problème a été rejeté, je viens de redémarrer mon code Visual Studio et cela a fonctionné pour moi.

2
Jexon 3 sept. 2020 à 17:09