Warum kann ich für eine if-Anweisung in einem Nuxt 3-Skripteinstellungs-Tag nicht auf useAsyncData zugreifen?
P粉105971514
P粉105971514 2023-08-26 09:47:58
0
1
560
<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粉105971514
P粉105971514

Antworte allen(1)
P粉752479467

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage