试题
考点

js语言和框架-vue.js-响应式原理-订阅、绑定和劫持

面5笔5

数据双向绑定 ?

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

所谓的数据双向绑定,就是 view 的变化能反映到 ViewModel 上,ViewModel 的变化能同步到 view 上。
new Vue一个实例对象a,其中有一个属性a.b,那么在实例化的过程中,通过Object.defineProperty()会对a.b添加getter和setter,同时Vue.js会对模板做编译,解析生成一个指令对象(这里是v-text指令),每个指令对象都会关联一个Watcher,当对a.b求值的时候,就会触发它的 getter,当修改a.b的值的时候,就会触发它的setter,同时会通知被关联的Watcher,然后Watcher就会再次对a.b求值,计算对比新旧值,当值改变了,Watcher就会通知到指令,调用指令的update()方法,由于指令是对DOM的封装,所以就会调用DOM的原生方法去更新视图,这样就完成了数据改变到视图更新的一个自动过程。

文章链接

评论
暂无评论

加载更多