Angular Tipsbeginner
Always give @for a stable track expression
A bad track key re-creates the whole list on every change — wrecking animations, focus and performance.
Introduction
The new @for block requires a track expression. Track by a stable identity (an id), not by the object reference or $index unless the list is truly static.
@for (item of items(); track item.id) {
<app-card [item]="item" />
}