Sök…


Introduktion

Vinkelmoduler är behållare för olika delar av din app.

Du kan ha kapslade moduler, din app.module redan faktiskt andra moduler som BrowserModule och du kan lägga till RouterModule och så vidare.

En enkel modul

En modul är en klass med @NgModule dekoratören. För att skapa en modul lägger vi till @NgModule passerar några parametrar:

  • bootstrap : Komponenten som kommer att vara roten till din applikation. Den här konfigurationen finns bara på din rotmodul
  • declarations : Resurser som modulen deklarerar. När du lägger till en ny komponent måste du uppdatera deklarationerna ( ng generate component gör det automatiskt)
  • exports : Resurser modulen exporterar som kan användas i andra moduler
  • imports : Resurser som modulen använder från andra moduler (endast modulklasser accepteras)
  • providers : Resurser som kan injiceras (di) i en komponent

Ett enkelt exempel:

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 { }

Häckningsmoduler

Moduler kan kapslas med hjälp av imports parametern @NgModule dekoratör.

Vi kan skapa en core.module i vår applikation som kommer att innehålla generiska saker, som ett ReservePipe (ett rör som vänder en sträng) och buntar dem i den här modulen:

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 { }

Sedan i 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow