搜索

首页  >  问答  >  正文

为什么我无法在 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>
P粉105971514P粉105971514495 天前566

全部回复(1)我来回复

  • P粉752479467

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

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

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

    回复
    0
  • 取消回复