Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menggunakan useQuery() sebagai parameter laluan API dalam Nuxt 3?

Saya mengikuti panduan di mana api 路由 dibina seperti ini:

1 Buat server/api/route.js fail:

export default defineEventHandler((event) => {

    return {
        message: `hello api route`
    }
})

2 Gunakan penghalaan api dalam komponen seperti berikut:

<script setup>
const { data: message } = await useFetch('/api/route')
</script>

<template>
  <div>
    <p>api data {{ message }}</p>
  </div>
</template>

Ini berkesan, tetapi apabila saya mencuba 1. 中添加 查询参数 :

export default defineEventHandler((event) => {

    const { name } = useQuery(event)

    return {
        message: `hello api name parameter ${name}`
    }
})

dan panggilnya dalam komponen 2.:

<script setup>
const { data: message } = await useFetch('/api/route?name=mario')
</script>

<template>
  <div>
    <p>api data {{ message }}</p>
  </div>
</template>

message 属性为空。似乎 useQuery(event) Menghasilkan pembolehubah kosong. Sebarang idea mengapa ini tidak berfungsi?

P粉860897943P粉860897943352 hari yang lalu783

membalas semua(2)saya akan balas

  • P粉551084295

    P粉5510842952023-11-02 16:54:30

    Cuba guna getQuery 而不是 useQuery

    export default defineEventHandler((event) => {
      const { name } = getQuery(event);
      return {
          message: `hello api name parameter ${name}`,
      };
    });

    balas
    0
  • P粉146080556

    P粉1460805562023-11-02 12:27:34

    Tidak lagi disokong

    useQuery(event)。您可以使用getQuery(event)

    dokumen h3 untuk getQuery

    balas
    0
  • Batalbalas