Pourquoi ne puis-je pas accéder à useAsyncData pour une instruction if dans une balise de paramètres de script Nuxt 3 ?
P粉105971514
P粉105971514 2023-08-26 09:47:58
0
1
557
<p>J'utilise l'API Prismic pour obtenir certaines données que je souhaite afficher dans un modèle Nuxt3. </p><p> Tout fonctionne bien, je veux juste afficher une page 404 lorsqu'il n'y a pas de données, pas une erreur 500. J'ai ajouté une vérification pour voir si les données sont vides : </p> <pre class="brush:html;toolbar:false;"><configuration du script> const route = useRoute() const nom = route.params.werke; const {client} = usePrismic() const { data: werk } = wait useAsyncData('werk', () => client.getByUID("werk", name)) si (!werk.uid) { lancer createError({ statusCode : 404, statusMessage : 'Page Not Found' }) } </script> ≪/pré> <p>Le problème est que dans la section <code>if (!werk.uid)</code> Je reçois donc toujours une erreur 404. Dans mon modèle, werk.uid n'est pas vide, donc je pense qu'il y a un problème, l'instruction if ne peut pas accéder à la variable const en utilisant useAsyncData ? </p> <p>Des idées ? La documentation officielle m'a recommandé de la même manière : https://v3.nuxtjs.org/getting-started/error-handling/#example-1</p>
P粉105971514
P粉105971514

répondre à tous(1)
P粉752479467

Quelqu'un sur le forum Prism m'a aidé à trouver une solution. Il s'agit d'un problème spécifique à Vue 3 :

Vous devez utiliser .value après le travail : (!werk.value)。而不仅仅是 (werk.anything)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal