wangbinze / Daily---3and1

0 stars 0 forks source link

❤️❤️❤️Question018 -Vue、Vue的双向数据绑定原理是什么? #18

Open wangbinze opened 3 years ago

wangbinze commented 3 years ago

题目:Vue的双向数据绑定原理是什么?

wangbinze commented 3 years ago

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

vue.js 3.0 中修改了Object.defineProperty(),而使用了Proxy。

Proxy 相比于 defineProperty 的优势

Object.defineProperty() 的问题主要有三个:

Proxy 在 ES2015 规范中被正式加入,它有以下几个特点:

除了上述两点之外,Proxy 还拥有以下优势:

参考:掘金文章