为什么我无法在 Nuxt 3 脚本设置标记中访问 if 语句的 useAsyncData ?
P粉105971514
P粉105971514 2023-08-26 09:47:58
0
1
564
<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>
P粉105971514
P粉105971514

全部回复(1)
P粉752479467

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板