watch监视多个属性
首先明确watch接受三个参数(要监视的数据,回调函数,配置项)
第一种方式
const num1= ref(1)
const num2 = ref(2)
watch(() => [num1.value, num2.value], (newVal, oldVal) => {
console.log(newVal, oldVal);
console.log(newVal[0], oldVal[0], newVal[1], oldVal[1]);
})
第二种方式
const num1 = ref(1)
const num2 = ref(2)
watch(() => [num1.value, num2.value], ([preNum1, preNum2], [oldNum1, oldNum2]) => {
console.log(preNum1, oldNum1, preNum2, oldNum2);
})
watchEffect:
watchEffect只需要传递一个回调函数,不需要传递侦听的数据,它会在页面加载时主动执行一次,来收集依赖,例如
watchEffect(() => {
activeNames.value = resultDetail.value.defectCategory.map(
(item: any) => item.defectCategoryCode
);
});