传播运算符不适用于 vuex 突变
Spead operator does'nt work on vuex mutations
我不能在 nuxt 上的 vuex 变异中使用传播运算符。
突变:
EDIT_BALLOON(state, data) {
const index = state.list.findIndex(item => item._id === data._id);
//state.list[index] = {...data} // not works
Object.assign(state.list[index], data); **// works**
},
操作:
async editBalloon( store, form ){
const { data } = await this.$axios.post('balloon-service/balloon/edit', form );
store.commit('EDIT_BALLOON', data);
}
奇怪地导入 vuex 助手就像 { ...mapState, ...mapMutations }
有什么解决办法吗?
提前致谢
哦,我对这里的问题理解得更好一些,这实际上是 Vue2(本质上是 JS 本身)的警告,您可以在这里找到更多信息:https://vuejs.org/v2/guide/reactivity.html#For-Objects
您实际上可以使用 this.$set(state.list, data, index)
而不是 Object.assign(state.list[index], data)
,但它实际上达到了相同的结果。
我不能在 nuxt 上的 vuex 变异中使用传播运算符。
突变:
EDIT_BALLOON(state, data) {
const index = state.list.findIndex(item => item._id === data._id);
//state.list[index] = {...data} // not works
Object.assign(state.list[index], data); **// works**
},
操作:
async editBalloon( store, form ){
const { data } = await this.$axios.post('balloon-service/balloon/edit', form );
store.commit('EDIT_BALLOON', data);
}
奇怪地导入 vuex 助手就像 { ...mapState, ...mapMutations }
有什么解决办法吗? 提前致谢
哦,我对这里的问题理解得更好一些,这实际上是 Vue2(本质上是 JS 本身)的警告,您可以在这里找到更多信息:https://vuejs.org/v2/guide/reactivity.html#For-Objects
您实际上可以使用 this.$set(state.list, data, index)
而不是 Object.assign(state.list[index], data)
,但它实际上达到了相同的结果。