我有一个next项目,在Nuxt .config.js文件,我有一个这样的函数:
generate: {
async routes() {
function postRoutes() {
return axios
.post('https://my-server.com/api/posts')
.then((r) => r.data.map((post) => {
// I log post data here, it exist
console.log(post)
return {
route: `post/${post.id}`,
payload: 'post'
}
}))
}
const response = await axios
.all([postRoutes()])
.then(function (results) {
const merged = [].concat(...results)
return merged
})
return response
}
},
然后,在pages/post/_slug.vue,在asyncData中,当接收到负载对象时,它返回undefined
async asyncData({ params, error, payload }) { {
console.log(payoad) // return undefined
}
我不知道我是否以错误的方式传递有效载荷或下一个有效载荷出现问题,请帮助!!提前谢谢你
看起来您正在传递有效载荷值作为字符串'post'。删除负载值中的单引号。
改变返回对象
return {
route: `post/${post.id}`,
payload: 'post'
}
:
return {
route: `post/${post.id}`,
payload: post
}