例如,我们有Posta API,它可以返回帖子(GET)和创建新帖子(POST).
首先,我需要将它们放在服务器端. 我在asyncData选项上就是这样做的. 我正在使用useFetch Composble来防止通过$fetch获取重复数据. https://nuxt.com/docs/api/utils/dollarfetch个
好的,我已经从服务器端得到了帖子数据. 但现在我希望能够使用methods options api添加一些数据.
我的函数应该加async个前缀,或者如果我只在客户端使用它,那是不必要的? 如果是i want to use the funtion only on the client side,我应该用什么方法来发布一些数据?
export default defineNuxtComponent({
async asyncData () {
return {
posts: useFetch ('/api/posts')['data']
}
},
methods:{
post(event : Event) {
event.preventDefault();
// post form data to api
$fetch('/api/posts',{
method: 'POST',
body: JSON.stringify(this.form)
})
// this.posts.push(data);
},
}
正在使用
the $fetch('/api/posts',{
method: 'POST',
body: JSON.stringify(this.form)
})
这条路对吗? 之后我如何在客户端刷新帖子.像这样的东西
axios.post().then(data)=>{this.posts.push(data)}
在官方文件中https://nuxt.com/docs/getting-started/data-fetching 说:
UseFetch、useLazyFetch、useAsyncData和useLazyAsyncData只能工作 在设置或生命周期挂钩期间
在NUXT模块站点https://axios.nuxtjs.org/中 他说:
Axios模块支持Nuxt2.Nuxt3用户可以使用新的同构 $FETCH API(迁移指南).
那么,在客户端获取期间,我是否应该使用$FETCH、useFetch、useLazyFetch、useAsyncData和useLazyAsyncData?
我在nuxt3文档中找不到任何在方法中使用Fetch的例子,比如点击按钮等.