小编Min*_*ven的帖子

Nuxt 3的useFetch在刷新期间发送相同的请求而不是更新URL

我尝试做一件简单的事情:在路线更改时,重新获取数据。

这是我的链接:

<li v-for="category in categories" :key="category.id" class="mb-1">
  <NuxtLink :to="{ query: { cat: category.slug } }">
    {{category.title}}
  </NuxtLink>
</li>
Run Code Online (Sandbox Code Playgroud)

还有我的要求:

<script setup>
const route = useRoute()

const { data:categories } = await useFetch('http://127.0.0.1:8000/api/tasks/category/', {
  key: route.fullPath, 
  initialCache: false
})
const { data:tasks, refresh } = await useFetch(`http://127.0.0.1:8000/api/tasks/?cat=${route.query.cat}`, {
  key: `tasks:${route.query.cat}`, 
  initialCache: false
})

watch(() => route.query.cat, () => refresh())

</script>
Run Code Online (Sandbox Code Playgroud)

因此,点击时,url 会发生很大的变化:

http://localhost:3000/tasks?cat=category1
http://localhost:3000/tasks?cat=category3
http://localhost:3000/tasks?cat=category2
Run Code Online (Sandbox Code Playgroud)

但请求是相同的(来自 Django DRF 后端):

GET http://127.0.0.1:8000/api/tasks/?cat=category1
GET http://127.0.0.1:8000/api/tasks/?cat=category1
GET http://127.0.0.1:8000/api/tasks/?cat=category1
Run Code Online (Sandbox Code Playgroud)

看起来它保留了第一类,即使initialCache: false

vuejs3 nuxtjs3

2
推荐指数
1
解决办法
5951
查看次数

标签 统计

nuxtjs3 ×1

vuejs3 ×1