深入响应式原理 【 数据驱动原理/ 双向数据绑定原理 】 【 面试题 - 王者 】
1.深入响应式原理
- 数据模型仅仅是普通的javascript对象,而当我们修改它是,视图也会随之而变化
2.数据驱动
- 数据改变,视图改变
3.双向数据绑定
- 我们使用v-model来实现对数据的双向绑定;数据改变,视图改变;视图改变,数据改变
4.公共部分
vue是通过数据劫持和订阅发布来进行深入响应;数据劫持指的是vue通过es5的object.defineproprtype属性对data 选项中的数据进行getter和setter设置;订阅发布指的是vue通过自定义事件将data的变化反应到视图中去,vue通过observer观察者对象反应数据的变化,然后在通知vue生成新的Virtual DOM,从而渲染视图
5.关键词
数据劫持
订阅发布
es5 Object.defineProperty getter setter
observer对象
将data选项中的数据全部做一遍getter和setter设置,然后他们的变化就会被observer监听到