🧠 Angular Lifecycle – Was wirklich passiert (und wann)

(Verstehe jeden Hook – von ngOnInit bis ngOnDestroy)

Viele reden vom Lifecycle – aber nur wenige verstehen wirklich, was Angular wann aufruft und warum.

Dieser Beitrag ist dein ultimativer Deep Dive in den Lifecycle deiner Komponenten – speziell für Angular 17–19.


1️⃣ Die Lifecycle-Hooks im Überblick

Hook Wann wird er aufgerufen?
constructor Beim Instanziieren der Klasse
ngOnChanges Bei Änderungen von @Input()-Werten (auch initial)
ngOnInit Nach dem ersten ngOnChanges, nur einmal
ngDoCheck Bei jedem Change Detection-Zyklus
ngAfterContentInit Nach Einfügen von <ng-content>-Inhalten
ngAfterContentChecked Nach jeder Prüfung des Inhalts
ngAfterViewInit Nach dem Rendern der View (inkl. Child-Komponenten)
ngAfterViewChecked Nach jeder View-Prüfung
ngOnDestroy Vor der Zerstörung der Komponente

2️⃣ Der neue Way: Signals & Lifecycle

Mit Angular 17+ nutzen viele Signals – aber auch dort kannst du Lifecycle-ähnlich denken:

effect(() => {
  console.log('Signal changed!');
});

✅ Signals = Reactive Hooks, die unabhängig von klassischen Komponenten agieren.


3️⃣ ngOnDestroy ist kein Luxus – sondern Pflicht

Warum? → Speicherlecks.
Subscriptions, Intervals, WebSocket-Connections:
Alles muss aufgeräumt werden!

Tipp:

destroyRef.onDestroy(() => {
  this.sub.unsubscribe();
});

Oder mit takeUntil(destroy$) aus rxjs + Subject.


4️⃣ ViewChild vs AfterViewInit

Viele Fehler entstehen, wenn man denkt ViewChild ist sofort da – ist es nicht!

@ViewChild('myElement') el!: ElementRef;

ngAfterViewInit() {
  this.el.nativeElement.focus();
}

❌ Niemals im Konstruktor oder ngOnInit darauf zugreifen.


Fazit

Der Angular Lifecycle ist kein Relikt –
sondern essentiell, um Komponenten sicher, performant und wartbar zu bauen.

✅ Kenne die Reihenfolge
✅ Nutze ngOnDestroy immer
✅ Kombiniere klassisch & modern (z.B. Signals)


👉 Nächster Beitrag:
📦 Angular Zone-Free – Komplett ohne NgZone?

Hast du Fragen oder ein Projekt im Kopf?

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

Jetzt Kontakt aufnehmen