微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spead 运算符不适用于 vuex 突变

如何解决Spead 运算符不适用于 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-Objects

您实际上可以使用 this.$set(state.list,data,index) 而不是 Object.assign(state.list[index],data) 但它实际上达到了相同的结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。