suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Warum kann ich für eine if-Anweisung in einem Nuxt 3-Skripteinstellungs-Tag nicht auf useAsyncData zugreifen?

<p>Ich verwende die Prismic-API, um einige Daten abzurufen, die ich in einer Nuxt3-Vorlage anzeigen möchte. </p><p> Alles funktioniert einwandfrei. Ich möchte nur eine 404-Seite anzeigen, wenn keine Daten vorhanden sind, und keinen 500-Fehler. Ich habe eine Prüfung hinzugefügt, um zu sehen, ob die Daten leer sind: </p> <pre class="brush:html;toolbar:false;"><script setup> const route = useRoute() const name = route.params.werke; const { client } = usePrismic() const { data: werk } = waiting useAsyncData('werk', () => client.getByUID("werk", name)) if (!werk.uid) { throw createError({ statusCode: 404, statusMessage: 'Seite nicht gefunden' }) } </script> </pre> <p>Das Problem ist, dass im Abschnitt <code>if (!werk.uid)</code> immer leer ist. Deshalb erhalte ich immer einen 404-Fehler. In meiner Vorlage ist werk.uid nicht leer, daher liegt meiner Meinung nach ein Problem vor: Die if-Anweisung kann mit useAsyncData nicht auf die const-Variable zugreifen? </p> <p>Irgendwelche Ideen? Die offizielle Dokumentation hat mir eine ähnliche Empfehlung gegeben: https://v3.nuxtjs.org/getting-started/error-handling/#example-1</p>
P粉105971514P粉105971514463 Tage vor542

Antworte allen(1)Ich werde antworten

  • P粉752479467

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

    棱镜论坛中的有人帮助我找到了解决方案。这是 Vue 3 特定的问题:

    您需要在 werk 之后使用 .value:(!werk.value)。而不仅仅是 (werk.anything)

    Antwort
    0
  • StornierenAntwort