vue2数据双向绑定原理
参考视频:
https://www.bilibili.com/video/BV1DT4y1L7sh/?spm_id_from=333.337.search-card.all.click&vd_source=0e078500c1a4ea8da38284fa678a5a79
自我理解:
- vue数据双向绑定是通过数据劫持结合发布订阅者模式实现的;
- 总体分为三个部分:
- 首先是通过Object.definePropery()去设置需要监听的数据对象的setter和getter, 在数据变动的时候进行拦截,调用get或set()。
- 然后监听到数据变动时,就会触发发布订阅者模式,发布者就是变动的数据,订阅者就是在页面中使用到该变量的地方,对此进行数据更新;【一个发布者多个订阅者】
- 最后再对模板进行解析,把模板中的变量替换成数据,然后渲染视图。
图示: