Vue script setup mit Generics: typisierte, wiederverwendbare Komponenten bauen
AI generated
{ }
Vue.js · TypeScript · Generics · script setup
script setup Generics
typisierte, wiederverwendbare Komponenten bauen

Eine Liste-Komponente, die Zeilen rendert, egal ob es sich um Benutzer, Produkte oder Bestellungen handelt, ist ein klassischer Fall für TypeScript-Generics, doch in einer Vue-Komponente fehlte lange die passende Syntax dafür. Seit Vue 3.3 unterstützt script setup ein eigenes generic-Attribut, mit dem sich Props, Emits und Slots typsicher an einen generischen Typparameter binden lassen, ohne auf any oder unknown auszuweichen. Das Ergebnis sind Komponenten, die sich wie generische Funktionen verhalten: einmal geschrieben, aber für beliebige, konkrete Item-Typen mit voller Autovervollständigung nutzbar.

15 Min. Lesezeit
1Ab welcher Vue-Version wird das generic-Attribut in script setup unterstützt?
Seit Vue 3.3. Vorherige Versionen kennen kein generic-Attribut auf dem script setup-Tag, generische Komponenten mussten davor umständlich über die Options API mit defineComponent nachgebildet werden.
2Wie deklariert man mehrere Typparameter gleichzeitig?
Als kommagetrennte Liste im generic-Attribut, genau wie in normalem TypeScript, zum Beispiel