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

被折叠的 条评论
为什么被折叠?



