navigation Navigation


CommonModule


Einführung - CommonModule

Das CommonModule ist ein grundlegendes Modul in Angular und stellt die essentiellen Direktiven und Pipes bereit, die für die meisten Angular-Anwendungen unerlässlich sind.

Das CommonModule ist ein Teil des @angular/common Pakets und enthält die am häufigsten verwendeten Direktiven und Pipes, die für die Template-Verarbeitung in Angular benötigt werden. Es stellt grundlegende Funktionalitäten wie Bedingungslogik, Iteration, Styling-Manipulationen und Datentransformationen (verschiedene Pipes) zur Verfügung.

Diese grundlegenden Werkzeuge ermöglichen es, dynamische und interaktive Benutzeroberflächen zu erstellen, ohne gängige Funktionalitäten jedes Mal neu implementieren zu müssen. Das CommonModule exportiert beispielsweise Direktiven für bedingte Anweisungen wie @if, für Schleifen wie @for und eine Vielzahl von Pipes zur Datenformatierung, die in nahezu jeder Angular-Anwendung zum Einsatz kommen. Die Existenz eines solchen zentralen Moduls ist von grundlegender Bedeutung, um Redundanz zu vermeiden und eine konsistente Basis für alle Angular-Projekte zu gewährleisten.

Die Direktiven und Pipes, die das CommonModule umfasst, ermöglichen die Manipulation des Document Object Model (DOM) in Abhängigkeit von Anwendungsdaten und Ereignissen.

Verwendung von CommonModule

Das CommonModule kann im Allgemeinen wie folgt importiert werden.

import { CommonModule } from '@angular/common';

CommonModule und Standalone Components

Mit Angular 16+ wird der Standalone-Ansatz bevorzugt. Hier wird das CommonModule direkt in jeder Komponente importiert, die es benötigt.

Wann muss man CommonModule importieren?

Wenn man Direktiven wie *ngIf, *ngFor, *ngSwitch oder Pipes wie date, uppercase verwenden möchte.

Verwendung in Standalone Components (Angular 16+)

user-profile.component.ts
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';

@Component({
    selector: 'app-user-profile',
    standalone: true,
    imports: [
        CommonModule
    ],
    template: `
        <div>
            <h2>User profile</h2>
            @if (user) {
                <span>Name: {{ user.name }}</span>
            }
            @else {
                <span>No user</span>
            }
        </div>
    `
})
export class UserProfileComponent {
    user = {
        name: 'John',
        email: 'doe@example.com'
    };
}

Verwendung in NgModule basierten Anwendungen

In älteren Angular-Anwendungen oder wenn man NgModule-Ansatz verwendet, wird das Modul in einem NgModule importiert.

user.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { UserProfileComponent } from './user-profile.component';

@NgModule({
    declarations: [
        UserProfileComponent
    ],
    imports: [
        CommonModule
    ],
    exports: [
        UserProfileComponent
    ]
})
export class UserModule {}