想要理解Vue中的数据代理,就要先提到一个很重要的API “Object.defineProperty()”,它会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
Object.defineProperty(person,'age',{
// value: 18,
// enumerable: true,//控制属性是否可以枚举,默认值是false
// writable: true,//控制属性是否可以被修改,默认值是false
// configurable: true//控制属性是否可以被删除,默认值是false
//当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
get:function(){
console.log('有人读取了get属性')
return number
},
//当有人修改person的age属性时,set函数(setter)就会被调用,且返回值就是age的值
set:function(){
console.log('有人修改了age属性,且值是',value)
number = value
}
})
最后
以上就是飘逸含羞草最近收集整理的关于Vue数据代理的全部内容,更多相关Vue数据代理内容请搜索靠谱客的其他文章。
发表评论 取消回复