取对象值有两种方式,
const obj={
a:'1'
}
obj.a或者obj['a'],中括号还可以写成
const name = 'a'
obj[name]和obj['a']是一个意思。
然后在vue的watch要监听对象的属性,写法是
watch:{
'obj.a'(new,old){}
}
这样的方式。
然后对象的深度拷贝可以通过自己手写递归来实现,也可以通过JSON.parse(JSON.stringify(obj))来实现。
手写递归的话
function deepClone(duixiang){
if(duixiang===null||typeof duixiang !== 'object') return duixiang
let clone=Array.isArray(duixiang)?[]:{}
for(let item in duixiang){
if(duixiang.hasOwnProperty(item)){
clone[item] = deepClone(duixiang[item])
}
}
return clone
}
const newObj = deepClone(obj)