【发布时间】:2021-11-24 01:39:40
【问题描述】:
我正在尝试制作一个更新 api url 的按钮。
<template>
<div>
<div v-for="post in posts">
<li>{{ post.title }}</li>
</div>
<button @click="nextPage">New posts</button>
</div>
</template>
<script>
export default {
data() {
return {
posts: [],
totalPosts: null,
postsPerPage: 20,
pageNumber: 1,
totalPages: null,
}
},
async fetch() {
const param = {
params: {
_page: this.pageNumber,
_limit: this.postsPerPage,
},
}
const response = await this.$axios.get(
'https://jsonplaceholder.typicode.com/posts',
param
)
this.totalPosts = response.headers['x-total-count']
this.posts = response.data.reverse()
this.totalPages = this.totalPosts / this.posts
},
methods: {
fetchPost() {
this.$fetch()
},
nextPage() {
this.pageNumber += 1
},
previousPage() {
this.pageNumber -= 1
},
},
fetchOnServer: false,
}
</script>
在 jsonplaceholder 中,我可以设置页码和帖子限制,例如https://jsonplaceholder.typicode.com/posts?_page=1&_limit=20。所以我尝试制作一个按钮来更新该网址中的页面参数。
但是当我创建 nextPage 方法并将其添加到按钮时,我可以看到 pageNumber 数据正在上升,但没有使用该 pageNumber 重新调用 api。
有没有办法在nuxt中重新调用api或重新渲染?
【问题讨论】:
-
我想如果你将你的标题更新为“有没有办法我可以更新 nuxt 中的 api url?”它会更好地反映您的问题。