天天看点

vue、js采坑之数据深拷贝

  • 在vue或js页面传递数据的过程中,传递数据的引用地址并不会改变,所以当我们改变一些数据时,源 数据也会随之改变。可是有很多情景,我们改变传递的数据,并不需要源数据值发生变化,这时我们就需要对数据进行处理,使数据的引用地址发生变化,即重新生成一个数据拷贝。
  • 使用JSON方法将数据解析成字符串,之后再转换成JSON对象数据,obj是传递的对象
JSON.parse(JSON.stringify(obj))      
  • 列子:
let a = {
          name: "张三"
        }
        let obj1 = a;
        let obj2 = a;
        console.log("obj1", obj1) //张三
        console.log(obj2) //张三
        obj2.name = "李四"
        console.log("obj1", obj1) //输出李四