Nuxt 3 스크립트 설정 태그의 if 문에 대해 useAsyncData에 액세스할 수 없는 이유는 무엇입니까?
P粉105971514
2023-08-26 09:47:58
<p>저는 Nuxt3 템플릿에 표시하려는 일부 데이터를 가져오기 위해 Prismic API를 사용하고 있습니다. </p><p>
모든 것이 잘 작동합니다. 데이터가 없을 때 500 오류가 아닌 404 페이지를 표시하고 싶습니다. 데이터가 비어 있는지 확인하는 검사를 추가했습니다. </p>
<pre class="brush:html;toolbar:false;"><스크립트 설정>
const 경로 = useRoute()
const 이름 = Route.params.werke;
const { 클라이언트 } = usePrismic()
const { data: werk } = wait useAsyncData('werk', () => client.getByUID("werk", name))
if (!werk.uid) {
throw createError({ statusCode: 404, statusMessage: '페이지를 찾을 수 없음' })
}
</스크립트>
</pre>
<p>문제는 <code>if(!werk.uid)</code> 섹션에서 werk.uid가 항상 비어 있다는 것입니다. 그래서 항상 404 오류가 발생합니다. 내 템플릿에서 werk.uid가 비어 있지 않으므로 문제가 있는 것 같습니다. if 문이 useAsyncData를 사용하여 const 변수에 액세스할 수 없습니까? </p>
<p>어떤 아이디어라도 있으신가요? 공식 문서에서는 비슷한 방식으로 저를 추천했습니다: https://v3.nuxtjs.org/getting-started/error-handling/#example-1</p>
Prism 포럼의 누군가가 해결책을 찾는 데 도움을 주었습니다. 이것은 Vue 3 관련 문제입니다:
작업 뒤에 .value를 사용해야 합니다.
(!werk.value)
。而不仅仅是(werk.anything)