Vue的数据绑定机制
响应式对象
Vue2 通过
Object.defineProperty
, Vue3 通过 Proxy 来劫持 state 中各个属性的 setter、getter,通过 getter 收集依赖。当 state 中的数据发生变动之后发布通知给订阅者更新数据。
关于 Object.defineProperty
这个函数接受三个参数,第一个参数是 obj, 表示要定义的属性对象, 第二个是定义属性名的key, 第三个参数接收一个对象,定义了要给属性所赋的值。
1 |
|
双向绑定
Vue 通过
v-modol
实现双向绑定,v-modol
实际是v:bind:xxx
和v:on:xxx
的语法糖。
当触发元素对应事件的时候(例如input,change)时更新数据(ViewModel),当数据更新完毕同步到对应元素(View)的属性上
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!