Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen
Verarbeiten Sie verschachtelte Listen und stellen Sie mit schlüsselbasierten each-Blöcken effiziente DOM-Aktualisierungen sicher.
Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen ist eine kostenlose Sveltejs Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Sveltejs Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Sveltejs Academy-Kurs umfasst insgesamt 4 Lektionen.
Zwei Dimensionen
Verschachteln Sie {#each}-Blöcke, um Tabellen, Raster oder Bäume zu rendern.
{#each rows as row, i}
<tr>
{#each row as cell, j}
<td>{cell}</td>
{/each}
</tr>
{/each}Schlüssel auf jeder Ebene
Fügen Sie auf jeder Ebene Schlüssel hinzu, um effiziente Aktualisierungen zu ermöglichen.
{#each rows as row (row.id)}
{#each row.cells as cell (cell.id)}
...
{/each}
{/each}Baumstrukturen
Verwenden Sie rekursionsfreundliche Komponenten oder each-Blöcke für baumartige Daten.
Indexschlüssel vermeiden
Die Verwendung des Array-Index als Schlüssel funktioniert nicht, wenn Elemente in der Mitte eingefügt oder entfernt werden. Bevorzugen Sie eine stabile ID.
Fallstrick bei veränderlichen Daten
Das Verändern verschachtelter Arrays ohne erneute Zuweisung der äußeren Referenz unterbricht die Reaktivität. Weisen Sie auf der obersten Ebene erneut zu.
rows = rows.map(r => r.id === id ? {...r, name} : r);Filtern und Sortieren
Geben Sie beim Filtern oder Sortieren immer ein neues Array zurück; eine Änderung direkt im bestehenden Array löst keine Aktualisierungen aus.
sorted = [...items].sort();Leistung
Schlüssel machen das Hinzufügen, Entfernen oder Verschieben von Elementen zu O(n), statt vollständige erneute Render-Vorgänge zu erzwingen.
Listen umordnen
Mit Schlüsseln sind Animationen beim Umordnen einfach: Kombinieren Sie sie mit animate:flip.
Bedingtes Rendern im Inneren
Kombinieren Sie {#if}-Blöcke innerhalb eines each-Blocks, um genau zu steuern, welche Elemente angezeigt werden.
Komponente pro Element
Rendern Sie für komplexe Elemente eine untergeordnete Komponente, damit der Schleifenkörper übersichtlich bleibt.
{#each todos as todo (todo.id)}
<Todo {todo} />
{/each}Muster für Seitennummerierung
Seitennummerieren oder virtualisieren Sie lange Listen, statt Tausende von Knoten zu rendern.
Kurze Überprüfung
Warum sollten Sie für Schlüssel stabile IDs statt Indizes bevorzugen?
Zusammenfassung
Verschachteln Sie each-Blöcke für zweidimensionale Daten, verwenden Sie auf jeder Ebene stabile IDs als Schlüssel und weisen Sie Sammlungen immer erneut zu, um Aktualisierungen auszulösen.
Lerne HTML mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 41
- Lektionen
- 163
Häufig gestellte Fragen
Ist die Lektion „Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen“ kostenlos?
Ja — der vollständige Text von „Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Sveltejs Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Sveltejs Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen“?
Verarbeiten Sie verschachtelte Listen und stellen Sie mit schlüsselbasierten each-Blöcken effiziente DOM-Aktualisierungen sicher. Du übst Sveltejs Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Sveltejs Academy zu starten?
Keine Vorkenntnisse erforderlich. Sveltejs Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Sveltejs Academy-Lektion Code schreiben und ausführen?
Ja. Jede Sveltejs Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- {#if} {#else if} {#else}
- {#each} mit Index und Schlüssel
- {#key} zum Erzwingen eines erneuten Renderns
- Verschachtelte {#each}-Blöcke und schlüsselbasierte Aktualisierungen