V-model 双向绑定

2019-10-08  本文已影响0人  Betterthanyougo

v-model本质上是 :value和v-on的结合体,就是绑定他的value,通过v-on触发,从而更新数据

双向绑定得的实现主要依赖于Object.defineProperty(),通过这个函数可以监听到get,set事件

其中observer是最主要的部分,用Object.defineProperty来实现数据的劫持,然后用他的set,get方法来通知订阅者,触发update方法,从而实现更新视图

订阅者模式:每一个{{name}} v-model=‘name’都会添加一个订阅者,从而监听不同部分的变化,每一部分变化时都会循环触发相应的订阅者,更新到页面中。

vue3中

使用了proxy代替Object.defineProperty

proxy 优点自动获取所有数据

不会破坏原有数据,返回一个新的数据赋给原数据

上一篇下一篇

猜你喜欢

热点阅读