nuxt.js - 扩展运算符不适用于 vuex 突变
问题描述
我不能在 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-对象
您实际上可以使用this.$set(state.list, data, index)
而不是Object.assign(state.list[index], data)
,但它实际上达到了相同的结果。
推荐阅读
- android - 安卓工作管理器
- javascript - 如果打开第二个下拉菜单,则关闭第一个下拉菜单
- c# - 通过枚举从数据库中提取值
- prestashop - Prestashop 不同的内容 b2b
- wpf - 通过更新 Telerik 的 GridView 的绑定源以编程方式更改 GridViewCheckBoxColumn 行的状态
- android - 如何在android中跟踪应用程序的使用时间?
- python - 如何将库永久添加到 python?
- forms - 如何在重新方向上在jmeter中传递动态表单数据
- python - 为什么我在 HTML 标签之间没有得到任何内容?
- javascript - 在电子中使用 sqlite3