Vue数据绑定的原理:采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()方法来劫持各个属性的,setter,getter,在数据变动时,发布消息给订阅者,触发相应的监听回调。
Object.defineProperty(obj,prop,descriptor)
//这个方法必须在Object构造器对象上调用,不是任意一个Object类型的实例都可以调用
/*
参数解释:
obj: 要定义属性的对象
prop: 要定义或修改的属性的名称
descriptor: 要定义或修改的属性描述符
返回值:
传递给函数的对象
*/
整体思路: