美文网首页
[坑]解决修改对象数组,改一个其他同时修改和改完没有变化

[坑]解决修改对象数组,改一个其他同时修改和改完没有变化

作者: 简小咖 | 来源:发表于2018-07-05 09:27 被阅读0次

原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,进而另一个引用的数组也会改。

解决办法就是将需要放入数组的对象先深拷贝一份,用拷贝的对象,这样就不存在引用关系了。

//data是传递过来的对象
const newData = Object.assign({}, JSON.parse(JSON.stringify(data)))
this.goodsForm.skus.push(newData)

修改数组里的值,用this.goodsForm.skus[index]=newData是修改不了的,可以用 this.$set( this.goodsForm.skus, index, newData)

相关文章

  • [坑]解决修改对象数组,改一个其他同时修改和改完没有变化

    原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,...

  • 数组遍历修改值

    数组对象的格式是直接可以修改值的,按时单纯数组是不能直接改值的

  • 中介者模式

    左边图每个对象可能互相引用,从而导致改一个可能影响到所有,不好修改右边图都引用中介对象,修改其中一个不会修改到其他...

  • Django-15 ORM 更新操作

    修改单个实体的某些字段值的步骤 查:通过 get() 得到要修改的实体对象 改:通过 对象.属性 的方式修改数据 ...

  • 修改论文想到的

    某夜,修改某人投稿到国外杂志文章到深夜,其间甚为恼火,几次有改不下去冲动。努力静下来,改完文章,完成在线投稿。同时...

  • vivo X9s AS安装程序时报INSTALL_FAILED_

    经过亲测,修改Gradle 编译版本可解决改问题。 解决方案: 修改项目中build.gradle 文件 buil...

  • 响应式对象添加

    响应式数据中对于对象新增/删除属性以及数组的下标访问修改和添加数据等的变化观测不到。通过Vue.set以及修改数组...

  • TinkerPatch发热修复

    准备工作 基于master代码,切出hotfix分支,修改bug,改完之后让测试看下是否解决了问题。 目前grad...

  • 双向绑定的简单实现

    双向绑定,其实就是V改变,M跟着改,M改变,V跟着改 如上图所示,当我们修改输入框的值时,要同时修改红色的字,由以...

  • 前端数据流之mobx-小案例

    搭建项目,改配置,参考链接 proxy数组 修改数组,接收到的是这个 方法2toJS(response) 数据改变...

网友评论

      本文标题:[坑]解决修改对象数组,改一个其他同时修改和改完没有变化

      本文链接:https://www.haomeiwen.com/subject/tmuuuftx.html