Vue数据双向绑定原理

var obj={a:1,b:3}
console.log(obj)

 

 

使用Object.defineProperty定义新属性或修改原有的属性;

  语法:

  Object.defineProperty(obj, prop, descriptor)

  参数:

  obj:必需。目标对象;
  prop:必需。需定义或修改的属性的名字;
  descriptor:必需。目标属性所拥有的特性;

 

Vue是采用数据劫持结合发布/订阅模式的方式,通过Object.defineProperty()来劫持各个属性的settergetter,在数据变动时发布消息给订阅者,触发相应的监听回调。

 

posted @ 2021-05-28 13:58  lyprecords  阅读(60)  评论(0)    收藏  举报