vue:Object、Array 对象数组赋值后,怎样防止修改新对象 原对象也跟着变

我要冲啦个人网站建设2021-12-24web前端

  如上图所示,我们在dialog里面改变状态的时候,遮罩下面的table里面该行的状态也在那里跟着一只变化着。原因想必大家都猜到了。赋值的数据是一个objec引用类型共享一个内存区域的。所以我们就不能直接连等复制,需要重新指向一个新的引用,方案如下:

  //赋值对象是一个obj

  this.objData=Object.assign({}, row); //这样就不会共用同一个对象
 

  //数组我们也有一个巧妙的防范

  newArray = oldArray.slice();//slice会clone返回一个新数组

文章关键词
vue
对象数组赋值
怎样防止修改新对象 原对象也跟着变