性能更好,体积更小,TS支支
composition api:更好的代码组织(可以把业务逻辑块集中管理)、更好的逻辑复用、更好的类型推导
vue options api 对应 react class component
vue composition api 对应 React hooks
beforeDestroy -> beforeunmount
destroyed -> unmouted
import { watch } from 'vue'
监听一个 ref 基本类型数据: 非数组和数组形式均可
监听多个 ref 基本类型数据: newValue、oldValue 数组形式呈现
watch(
data,
// [data1,data2], // 监听多个 ref 基本属性
(newValue, oldValue) => {},
{ immediate: true }
)
监听 ref 引用类型数据: 默认开启深度监视、无法正确的获取 oldValue
watch(
objdata,
(newValue, oldValue) => {
console.log(oldValue.name) // 无法正确的获取 oldValue
},
{ deep: true} // 必须设置
)
监听一个 reactive 基本类型数据 :函数形式
监听多个 reactive 基本类型数据 :数组形式
watch(
() => data,
// [() => data1, () => data2], // 监听多个 reactive 属性
(newValue, oldValue) => {
console.log(newValue, oldValue);
}
)
监听多个 reactive 引用类型数据
watch(
() => objdata,
(newValue, oldValue) => {
console.log(oldValue.name) // 无法正确的获取 oldValue
},
{ deep: true} // 必须设置
)
不用指明监视属性,回调中用到什么属性即监视什么属性,默认开启 immediate:true
import { watchEffect } from 'vue'
watchEffect(() => {
// ...
})