首頁  >  問答  >  主體

為什麼我無法在 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粉105971514419 天前498

全部回覆(1)我來回復

  • P粉752479467

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

    棱鏡論壇中的有人幫我找到了解決方案。這是 Vue 3 特定的問題:

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

    回覆
    0
  • 取消回覆