Auf DOM-Updates warten ohne setTimeout
setTimeout(fn, 0) als Workaround für DOM-Timing-Probleme ist ein Code-Smell in Alpine.js-Projekten. $nextTick ist die saubere Alternative – sie wartet exakt auf den Abschluss des nächsten Render-Durchlaufs, nicht auf einen willkürlichen Millisekunden-Wert.
Inhaltsverzeichnis
- 1. Das Problem: Warum der DOM nicht sofort aktuell ist
- 2. JavaScript Event Loop und Microtask Queue erklärt
- 3. Wie $nextTick intern funktioniert
- 4. $nextTick vs. setTimeout(0): Der entscheidende Unterschied
- 5. DOM-Messungen nach Datenänderungen
- 6. Fokus setzen nach x-if oder x-show
- 7. Animations-Trigger nach DOM-Einfügen
- 8. async/await mit $nextTick kombinieren
- 9. Timing-Methoden im Vergleich
- 10. Zusammenfassung
- 11. FAQ
1. Das Problem: Warum der DOM nicht sofort aktuell ist
In