Angular 2
moduler
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