为什么我无法在 Nuxt 3 脚本设置标记中访问 if 语句的 useAsyncData ?
<p>我正在使用 Prismic API 获取一些我想要在 Nuxt3 模板中显示的数据。</p><p>
一切正常,我只想在没有数据时显示 404 页面,而不是 500 错误。我添加了一个检查数据是否为空的检查:</p>
<pre class="brush:html;toolbar:false;"><script setup>
const route = useRoute()
const name = route.params.werke;
const { client } = usePrismic()
const { data: werk } = await useAsyncData('werk', () => client.getByUID("werk", name))
if (!werk.uid) {
throw createError({ statusCode: 404, statusMessage: 'Page Not Found' })
}
</script>
</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>