Vue3watch监视多个属性以及watchEffect

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
    );
});

你可能感兴趣的:(Vue,前端,javascript,vue.js)