Vue中的Object.defineProperty()属性
Object.defineProperty(要定义属性的对象, ‘该对象中要修改或定义的属性名称’, {
value:“18” //该属性的值
enmerable:true //控制属性是否可以被枚举,默认值是false
writeable:true // 控制属性是否可以被修改,默认值是false
configurable:true //控制属性是否可以被删除,默认值是false
// 当有人读取该对象的属性时,get(函数)会被调用,且该返回值就是该属性的值
get(){
renturn
},
//当有人修改对象中的属性时,set函数会被调用,且会收到修改的具体值
set(value){
}
})
数据代理:通过一个对象代理对另一个对象中的属性进行操作(读\写)
let obj = {x:100}
let obj2 = {y:200}
Object.defineProperty(obj2, ‘x’, {
get(){
// 将obj中的属性x赋给obj2中的属性x
return obj.x
},
set(value){
// 通过修改value 来修改obj中的属性x
obj.x = value
}
})