Maison  >  Questions et réponses  >  le corps du texte

Pourquoi ne puis-je pas accéder à useAsyncData pour une instruction if dans une balise de paramètres de script Nuxt 3 ?

<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粉105971514P粉105971514419 Il y a quelques jours499

répondre à tous(1)je répondrai

  • P粉752479467

    P粉7524794672023-08-27 00:26:14

    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)

    répondre
    0
  • Annulerrépondre