vue响应式原理

89 阅读1分钟

1.vue是如何监听页面上的数据改变

2.当数据改变,vue是如何知道要通知那些人,页面刷新

这也就是双向数据绑定原理

  • 通过Object.defineProperty 劫持对象属性,给每一个属性创建一个dep对象和wacther对象,把wachter对象添加到相应dep的subs数组中,当某个数据改变时,相应的dep中的notify会遍历subs数组,并且调用update,达到数据更新

  • 发布者订阅模式