Angular · Senior · Frage 8 von 75
Was ist an diesem Effect falsch?
total = signal(0);
constructor() {
effect(() => this.total.set(this.price() * this.qty()));
}- 1
setlässt sich an einem beschreibbaren Signal nicht mit einer Zahl aufrufen - 2Abgeleiteter Zustand gehört in
computed(), nicht in einen Effect - 3Effects können pro Lauf nicht mehr als ein Signal lesen
Antwort zeigen
Richtige Antwort: Abgeleiteter Zustand gehört in computed(), nicht in einen Effect
Erklärung
total = computed(() => this.price() * this.qty()) ist synchron, lazy und immer konsistent. Nimm linkedSignal, wenn es auch beschreibbar sein muss; Effects sind für Seiteneffekte außerhalb des Signal-Graphen (DOM, Storage, Logging).