ForeveHG / Frontend-Daily-Interview

学习,尝试回答一些前端面试题
1 stars 0 forks source link

32. 聊聊 Vue 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的 Vue #33

Open ForeveHG opened 4 years ago

ForeveHG commented 4 years ago

Model改变View: Vue中props和data都是响应式对象,响应式对象通过Object.defineProperty添加或修改了对象属性的getter和setter方法,getter用来收集依赖,setter用来派发更新,当在template标签中访问data或props中的属性时,会触发属性的getter方法,将组件的渲染watcher作为依赖收集到属性的依赖列表中,当设置这个属性值的时候会触发属性的setter方法,这时就会调用属性依赖列表中各个watcher的update方法更新视图.

View改变Model: View改变Model是通过监听dom事件