🎛️ Angular Component Inputs & Outputs – Dynamik mit Klarheit

(Wie du saubere, flexible Kommunikation zwischen Komponenten gestaltest)

Komponentenkommunikation ist das Herzstück moderner Frontend-Architektur.
Angular bietet dir mit @Input() und @Output() alles, was du brauchst –
wenn du es richtig strukturierst.


1️⃣ Inputs – Konfigurierbare Komponenten

@Input() title: string = '';

Nutze Inputs, um Komponenten kontextabhängig zu machen –
z. B. für Überschriften, IDs, Optionen, Modi usw.

✅ Best Practice: Nur primitive Datentypen oder Data Models


2️⃣ Outputs – Events bewusst feuern

@Output() clicked = new EventEmitter<void>();

handleClick() {
  this.clicked.emit();
}

✅ Events klar benennen (selected, submitted, changed)


3️⃣ Typisierung & Interfaces

@Input() user!: User;
@Output() update = new EventEmitter<Partial<User>>();

Nutze klare Typen für Transparenz & Lesbarkeit – gerade im Team.


4️⃣ Smart & Dumb Components

  • Smart: Holt Daten, kennt Use Cases
  • Dumb: Präsentiert nur – bekommt alles über @Input(), sendet alles über @Output()

✅ So erreichst du maximale Wiederverwendbarkeit


5️⃣ Bonus: Signals statt Outputs?

Angular 18+ bietet dir neue Wege:

const submitted = signal(false);

effect(() => {
  if (submitted()) {
    saveData();
  }
});

⚠️ Noch nicht überall sinnvoll – aber interessant für Reactive UIs


Fazit

Gute Komponentenkommunikation ist wie ein sauberes API-Design:
klar, typisiert und wartbar – das macht den Unterschied.


👉 Nächster Beitrag:
🌐 Angular Routing Advanced – Guards, Lazy Loading & Dynamic Routes

Hast du Fragen oder ein Projekt im Kopf?

Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!

Jetzt Kontakt aufnehmen