vue的动态绑定数据实现原理

是使用了es5中对象的Obiect.defineProperty()方法中定义属性的set() get()方法

基本写法

var person = {}
Object.defineProperty(person, "name", {
    value: 'zhangsan'
})
console.log(person.name)

参数

1.第一个参数是目标对象
2.第二个参数是要设置的属性名称
3.第三个参数是属性对应的属性值(对象)

动态绑定的方法有

1.订阅者--发布者模式
2.脏值检查
3.数据劫持

vue动态数据绑定

vue是采用数据劫持结合订阅者--发布者模式来实现动态数据绑定的,通过Object.defineProperty()来劫持各个属性的setter,getter方法
,在数据变动时发消息给订阅者,出发对应的监听回调