【发布时间】:2022-01-14 16:30:48
【问题描述】:
所以我有一个动作,它向为特定艺术品创建评论的端点发出 POST 请求。在渲染艺术品及其 cmets 的组件上,我在 onMounted() 钩子中调度一个操作,该操作对具有该 id 的艺术品发出 GET 请求,然后将其存储在 Vuex 中。
一旦创建评论的 POST 请求通过,我就可以访问商店中的艺术品属性,并将响应推送到 cmets 属性,该属性是一个 cmets 数组。我不知道这是否是正确的方法,因为据我所知,任何状态更改都应该通过突变来完成,所以直接访问状态并将数组元素推入它似乎不正确?
这是我创建评论并将响应推送到所选艺术品的 cmets 属性的操作:
async createComment({commit, state}, payload){
try {
let response = await axios.post("/createComment", payload)
console.log(response)
state.image.comments.push(response.data.comment)
} catch (error) {
console.log(error)
}
},
我猜另一种方法是从状态中复制艺术品,在副本的 cmets 属性中推送新评论,然后提交新对象?
【问题讨论】:
标签: javascript vue.js vuejs2 vuex