Suche…


Einführung

Winkelmodule sind Container für verschiedene Teile Ihrer App.

Sie können verschachtelte Module haben, Ihr app.module verschachtelt bereits andere Module wie BrowserModule und Sie können RouterModule usw. hinzufügen.

Ein einfaches Modul

Ein Modul ist eine Klasse mit dem @NgModule Dekorator. Um ein Modul zu erstellen, fügen wir @NgModule einigen Parametern hinzu:

  • bootstrap : Die Komponente, die das Stammverzeichnis Ihrer Anwendung sein wird. Diese Konfiguration ist nur auf Ihrem Root-Modul vorhanden
  • declarations : Ressourcen, die das Modul deklariert. Wenn Sie eine neue Komponente hinzufügen, müssen Sie die Deklarationen aktualisieren ( ng generate component führt dies automatisch durch).
  • exports : Der Modulexport wird in anderen Modulen verwendet
  • imports : Ressourcen, die das Modul aus anderen Modulen verwendet (nur Modulklassen werden akzeptiert)
  • providers : Ressourcen, die in eine Komponente injiziert werden können

Ein einfaches Beispiel:

import { AppComponent } from './app.component';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
 
@NgModule({
  bootstrap: [AppComponent]
  declarations: [AppComponent],
  exports: [],
  imports: [BrowserModule],
  providers: [],
})
export class AppModule { }

Verschachteln von Modulen

Die Module können mit Hilfe der geschachtelt werden imports Parameter von @NgModule Dekorateur.

Wir können in unserer Anwendung ein core.module erstellen, das generische Dinge wie eine ReservePipe (eine Pipe, die eine Zeichenfolge ReservePipe ) enthält, und diese in diesem Modul bündeln:

import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ReversePipe } from '../reverse.pipe';

@NgModule({
  imports: [
    CommonModule
  ],
  exports: [ReversePipe], // export things to be imported in another module
  declarations: [ReversePipe],
})
export class CoreModule { }

Dann in der app.module :

import { CoreModule } from 'app/core/core.module';

@NgModule({
  declarations: [...], // ReversePipe is available without declaring here
                       // because CoreModule exports it
  imports: [
    CoreModule,        // import things from CoreModule
    ...
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow