Вы не можете получить доступ к методу asyncData, потому что он вызывается nuxt на стороне сервера перед рендерингом.Однако вы, конечно, можете манипулировать своим объектом данных, который отражает ваши asyncData.Итак, я думаю, у вас есть такой компонент данных:
data() {
return {
topic: [],
}
}
, который объединяется с тем, что возвращает asyncData, и является тем, что отображается в клиенте.Таким образом, без перезагрузки страницы вы можете манипулировать «темами», и это будет отражено в клиенте.Примерно так:
async deletePost(id) {
await this.$axios.$delete(`/topics/${this.topic.id}/posts/${id}`)
this.topic... //change it to reflect what was deleted.
},
или Затем вы можете сделать еще один вызов API после вызова удаления в том же методе.
await this.$axios.$delete(`/topics/${this.topic.id}/posts/${id}`)
let {data} = await $axios.$get(`/topics/${this.topic.id}`)
return this.topic = data
},
В любом случае вы обновляетемассив 'topic' после вызова delete, и это то, что отображается в вашем клиенте.