ref:包裹任意类型的值,将包裹的值加⼊响应式
reactive:包裹复杂类型的值,将包裹的值加⼊响应式
computed:把⼀些复杂逻辑⽤computed进⾏包裹,如同Options API中的计算属性⼀样,computed会⾃动收集相关依赖,当依赖发⽣变化时,会⾃动进⾏更新
⽣命周期:Vue3中想要在beforeCreate和created中做的事,直接在setup中做即可,Vue3的其他的⽣命周期函数都要在前⾯加⼀个on,然后需要在vue中主动引⼊
watch:
1)watch可以监听单个数据源,也可以监听多个数据源
2)watch是懒执⾏,第⼀次是不会执⾏的,除⾮你为其提供第三个参数中的immediate属性为true
3)watch只有等到监听的数据源发⽣了变化后,才会执⾏第⼆个参数(回调)
4)watch可以获取监听数据源的前后变化的值
5)侦听多个数据源的时候,第⼀个参数是数组类型
watchEffect:
1)watchEffect会⾃动收集依赖,收集的依赖是第⼀个参数,也就是回调函数中有哪些东⻄是加⼊响应式的
2)如果这个值加⼊了响应式就会被收集起来,当被收集的值发⽣了变化,就会重新执⾏这个回调函数
3)watchEffect第⼀次执⾏是在DOM挂载前执⾏的,所以如果你想在第⼀次执⾏时拿到DOM元素
4)需要传⼊第⼆个参数,第⼆个参数是⼀个对象,让其flush属性的值为post即可
toRefs:
1)对reactive进⾏解构后就失去了响应式的效果,因为reactive返回的是⼀个Proxy对象
2)对Proxy对象进⾏解构,拿到的是纯净的值,所以没有了响应式的效果
3)如果想要对reactive进⾏解构,需要对其包裹⼀个toRefs
4)这么做相当于为reactive中的每⼀个值包裹了⼀个ref