能保持响应式的情况
- 基本数据类型的修改
- 对象(包括数组)的引用被修改,即替换为新对象
- 对象已初始化的属性以及子属性的修改
- 使用$set方法
- 使用数组操作的方法,例如push splice
不能保持响应式的情况
- 某些时候,将已被响应式的对象(例如组件prop传入的对象)赋值给某个属性
- 给data或其子对象增加不存在的属性
- 直接用下标操作数组元素
watch
- 使用immediate时的执行时机:在created之前
- 不使用deep时,只监听目标对象的引用发生变化。想要监听目标对象的每个属性发生变化,需要加deep