当我们在data中添加数据的时候,能在vue的实例对象中读取到该属性,这是利用了数据劫持原理
let person = {
name:'小明'
}
//当读取 proxyPerson时候会 返回person中的数据,也就是用proxyPerson 劫持 person
let proxyPerson = {
}
Object.defineProperty(proxyPerson,'name',{
value:18,
//enumerable:true, // 控制属性是否可以被枚举,默认值是false
//writable:true, // 控制属性是否可以被修改,默认值是false
//configurable:true // 控制属性是否可以被删除,默认值是false
get(){
console.log('name属性被读取了')
return person.name
},
set(v){
console.log('有人修改了name属性')
return person.name = v
}
}