Angular · Middle · Frage 2 von 75

Warum aktualisiert sich dieses OnPush-Kind nicht, nachdem das Elternteil addItem() ausführt?

// parent
items = [{ id: 1 }];
addItem() { this.items.push({ id: 2 }); }
// template: <app-list [items]="items" />
Antwort zeigen

Richtige Antwort: Das Array wurde verändert, die Input-Referenz blieb also gleich

Erklärung

OnPush vergleicht Inputs per Referenz. Erzeuge ein neues Array (this.items = [...this.items, item]) oder halte die Liste in einem Signal und aktualisiere sie unveränderlich.

Zum Weiterlesen

Fehler in der Frage

Angular · Middle · Frage 2

Teste dich selbst

Mach den Test Angular · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen