Angular · Junior · Frage 39 von 75
Warum ist es falsch, ein Array in einem Signal so zu verändern?
items = signal<string[]>([]);
add(x: string) { this.items().push(x); }- 1Signals können keine Arrays halten, nur primitive Werte
- 2
pushwirft einen Fehler, wenn es in einem Signal aufgerufen wird - 3Die Referenz bleibt gleich, Angular wird also nicht benachrichtigt
Antwort zeigen
Richtige Antwort: Die Referenz bleibt gleich, Angular wird also nicht benachrichtigt
Erklärung
Signals vergleichen Werte standardmäßig mit Object.is. Wird dasselbe Array verändert, bleibt die Referenz, und Abhängige erfahren nichts. Erzeuge stattdessen ein neues Array oder Objekt.