javascript - Hvordan inkludere Angular Material i Angular 17?


Angular Materials dokumentasjon sier:

import { MatSlideToggleModule } from '@angular/material/slide-toggle';

@NgModule ({
  imports: [
    MatSlideToggleModule,
  ]
})
class AppModule {}

Men Angular 17 lager ikke app.module-fil som standard. Finnes det en måte å gjøre det på uten app.module?

Svar #1

importer avhengigheter inn i komponenten i stedet for app.modules, legg til attributtet standalone:true, som koden nedenfor:

import { MatSlideToggleModule } from '@angular/material/slide-toggle';
@Component({
  standalone:true,
  imports: [
     MatSlideToggleModule,
   ],
   selector: 'your-component',
   templateUrl: './your.component.html',
   styleUrls: ['./your.component.scss']
 })

Svar #2

Fra og med Angular v17 er standalone standard via CLI

Som betyr at når du oppretter et nytt prosjekt, vil det ikke ha noen moduler i seg

Som en løsning er det mulig å lage en modulbasert app ved å bruke --no-standalone-flagget: ng new --no-standalone, som vil lage en app.modules.ts i prosjektet ditt

bruk denne kommandoen :

ng new myNewApp --no-standalone

Følg det opp med :

ng add @angular/material 

Importer deretter relevante moduler fra Angular Material til prosjektets app.module.ts:

import { MatSlideToggleModule } from '@angular/material/slide-toggle';

@NgModule ({
  imports: [
    MatSlideToggleModule,
  ]
})
class AppModule {}

Relaterte artikler