Angular · Middle · Pytanie 2 z 75

Dlaczego potomek OnPush nie aktualizuje się po wywołaniu addItem() w rodzicu?

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

Wyjaśnienie

OnPush porównuje wejścia według referencji. Utwórz nową tablicę (this.items = [...this.items, item]) albo trzymaj listę w sygnale i aktualizuj ją niemutowalnie.

Do poczytania

Błąd w pytaniu

Angular · Middle · pytanie 2

Sprawdź się

Rozwiąż test Angular · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test