美文网首页
深拷贝问题

深拷贝问题

作者: EO_eaf6 | 来源:发表于2019-09-27 15:36 被阅读0次

    问题:在同一个页面

    this.old=this.new//改变new,old不会随之变-------修改(应该也是会变的,如果是引用类型的话)

    含子组件页面

    this.old=this.new

    <child :new="new" :old="old">//子组件

    此时改变new,old也会一起改变,使用深拷贝解决了,this.old=JSON.parse(JSON.stringfy(this.new)),但不知道其中原理是什么

    哎想明白了来补一个(重点就是引用类型数据的复制问题)

    拷贝对象里存在指针的则为地址拷贝(这里暂时知道对象和数组是地址拷贝),也就是共享内存了,所以拷贝和被拷贝对象任意一个改变数据另一个也会跟着改变,与是否是子组件之间的传值无关

    这里old和new是Array类型也就是拷贝地址

    因此在不关是否同一个页面的问题,刚看了项目代码,在同一个页面时

    我的this.old=this.new

    this.new=this.array//new接受了array的地址不再和old共享内存,因此new改变了而old没有

    相关文章

      网友评论

          本文标题:深拷贝问题

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