Nuxt 3 スクリプト設定タグの if ステートメントの useAsyncData にアクセスできないのはなぜですか?
P粉105971514
P粉105971514 2023-08-26 09:47:58
0
1
531
<p>Prismic API を使用して、Nuxt3 テンプレートに表示したいデータを取得しています。 </p><p> すべて正常に動作します。データがないときに 500 エラーではなく 404 ページを表示したいだけです。データが空かどうかを確認するチェックを追加しました: </p> <pre class="brush:html;toolbar:false;"><スクリプトのセットアップ> const ルート = useRoute() const 名 = ルート.params.werke; const { クライアント } = usePrismic() const { data: werk } = await 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>
P粉105971514
P粉105971514

全員に返信(1)
P粉752479467

Prism フォーラムの誰かが解決策を見つけるのを手伝ってくれました。これは Vue 3 固有の問題です:

werk の後に .value を使用する必要があります: (!werk.value)(werk.anything)

だけではありません
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート