vue 克隆物件時遇到的問題

菜鳥工程師2號發表於2019-11-07

我們知道 當我們需要深克隆一個物件 或者陣列時 改變這個得到的資料,原資料保持不變 比較簡單的用到的函式基本都是

let b = JSON.parse(JSON.stringify(a))

但是假如我們克隆一個vue響應式物件時 發現用這個方法沒啥用
所以需要一個工具函式老深克隆

//深克隆 
export const deepClone = (source) => {
  var sourceCopy = source instanceof Array ? [] : {}
  for (var item in source) {
    sourceCopy[item] = typeof source[item] === 'object' ? deepClone(source[item]) : source[item]
  }
  return sourceCopy
}
let b = deepClone (a)

這樣就得到響應式的啦

相關文章