vue 数组、对象 深度拷贝和赋值

由于此对象的引用类型指向的都是一个地址(除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝)

数组:

let a = [11,22,33];
let b = a; // 这个时候的赋值只是把b的指向地址指向a,所以a b 是同一块物理地址
b.push(44); //这个时候 a和b元素都是 [11,22,33,44]

对象:与数组同理

这样的情况下 如果我们不需要这种双向数据绑定的时候该怎么办呢?

解决办法:小技巧

copyDeep(templateData) {
      // templateData 是要复制的数组或对象,这样的数组或者对象就是指向新的地址的
      return JSON.parse(JSON.stringify(templateData));
    }

 

posted @ 2018-09-27 13:56  我是搬砖的  阅读(10871)  评论(0编辑  收藏  举报