vue2.x双向数据绑定原理?
vue2.x双向数据绑定原理?
vue实现双向数据绑定的原理就是利用了Object.defineProperty()
这个方法重新定义了对象获取属性值get()和设置属性值set()的操作来实现的。
// Object.defineProperty()方法
let obj = {}
let name
Obejct.defineProperty(obj,'name',{
get: function() {
console.log('获取')
return val
}
set: function(newVal) {
console.log('设置')
}
})
obj.name = 'arthas' // 在给obj设置name属性的时候,触发了set这个方法
const val = obj.name // 在得到obj的name属性,会触发get方法。