响应式

vue.$set
vue 里面的 $set
- definePorperty 只能遍历对象属性进行响应式,新增的属性不是响应式的
- $set 对于数组来说会直接使用 splice 进行增删改操作
- $set 对于对象会重新判断这个新增的属性是不是响应式的,对象是不是响应式的,再调用 defineReactive 方法
响应式原理
vue 双向数据绑定原理?
vue 是通过基于发布订阅模式(观察者)的数据劫持来实现双向数据绑定的
- Observer 观察者函数:监听所有数据的变化,当数据变动时获取最新的值并通知给订阅者(数据劫持)
- Watcher 订阅者函数:当接受到观察者的通知和提供的数据后同步更新视图
- Compile 解析器函数:解析 DOM 元素上的 v-model 指令和
{{}}
语法