Vue · Middle · Frage 23 von 75
Warum müssen Composables in <script setup> synchron statt in einem Callback aufgerufen werden?
onMounted(() => {
const { x } = useMouse(); // problem
});- 1Vue braucht die aktive Instanz, um ihre Hooks zu registrieren
- 2Composables lassen sich nur einmal pro Anwendung aufrufen
- 3Callbacks laufen nur auf dem Server, nie im Browser
Antwort zeigen
Richtige Antwort: Vue braucht die aktive Instanz, um ihre Hooks zu registrieren
Erklärung
In einem Callback gibt es keine aktuelle Instanz, also wird onUnmounted im Composable nicht registriert, und Listener lecken. <script setup> stellt die Instanz nach einem await auf oberster Ebene wieder her, Aufrufe danach funktionieren also.