
1.ref可以把基本类型和对象类型数据定义为响应式数据但是reactive只能把对象类型的数据定义为响应式数据。2.其实用ref去定义对象类型的数据最底层还是借助了reactive去给对象做代理这是个小细节如图3.如果使用reactive创建的响应式对象obj遇到直接对obj赋值新对象的情况之前的响应式对象会变得不响应了。解决办法倒是有如果是源对象和新对象的结构一致并且该对象不是多层嵌套结构则可以用Object.assign(obj, newObj)对Object.assign方法不了解的朋友可以顺便看看这篇文章 深入理解 JavaScript 中的 Object.assign()_object.assign(this.$state, val)-CSDN博客。最好的解决办法就是直接使用ref来定义对象。4.计算属性computed的返回值依赖组成它的响应式数据如果响应式数据不发生变化那么计算属性也不会变化计算属性computed有缓存函数没有缓存多次使用的情况下计算属性比用函数更节约性能。5. 计算属性有两种写法一种是简写形式只读的另外一种是可读可写。如图7.watch监视ref或者reactive包裹的数据有很多种写法和注意事项建议全用ref就不会有以下的那么多情况了但是所有情况也需要了解下万一是读别人的代码呢如图此外再做个小总结watch函数第一个参数只能传入以下4个类型的数据①ref包裹的数据注意应该传入data而不是data.value;②reactive包裹的数据③getter函数就是一个有返回值的函数④以上3点类型数据组成的数组。7.根据条件结束监视如图