problème
J'utilise Async Configuration () dans Vue3, mais j'ai eu mon HTML disparaître, mon modèle de composant n'entraînez pas à HTML, mais lorsque je supprimai le préfixe ASYNC et attend votre préfixe, mon HTML reviendra, est-ce que quelqu'un a le même problème comme celui-ci
async setup () {
const data = ref(null)
try {
const res = await fetch('api')
data.value = res.json()
} catch (e) {
console.error(e)
}
return {
data
}
}
j'ai essayé
<Suspense>
tag, toujours même problèmeVotre composant async setup()
_ a l'air bien que la fonction manquante await res.json()
, qui ne causerait toujours pas le problème que vous voyez. Je soupçonne que votre usage de <Suspense>
est incorrect.
Pour utiliser async setup()
Dans un composant, le composant parent doit utiliser ce composant dans une balise <Suspense>
:
<!-- Parent.vue -->
<template>
<Suspense>
<MyAsyncComponent />
</Suspense>
</template>
Vous pouvez également utiliser les emplacements default
et fallback
<Suspense>
pour afficher un indicateur de chargement en attendant que la configuration du composant enfant puisse résoudre:
<!-- Parent.vue -->
<template>
<Suspense>
<template #default>
<MyAsyncComponent />
</template>
<template #fallback>
<span>Loading...</span>
</template>
</Suspense>
</template>
Vérifié avec [email protected]
, Node 14, Chrome 84, macos catalina. Notez que <Suspense>
est toujours expérimental et que l'API est toujours expérimental.