watch([startTime,endTime], () => { getLineData(); });
和
watch(startTime, () => { getLineData(); });
watch(endTime, () => { getLineData(); });
为什么前面一个只触发一次,后面的会触发2次getLineData函数??
-
watch([startTime, endTime], () => { getLineData(); });
这个watch
监听了一个数组,也就是[startTime, endTime]
。当数组中任意一个元素发生变化时,getLineData
函数会被触发。因为watch
监听的是整个数组,当其中一个元素发生变化时,整个数组本身发生了变化,所以getLineData
函数会被触发一次。 -
watch(startTime, () => { getLineData(); });
和watch(endTime, () => { getLineData(); });
这两个watch
分别监听了startTime
和endTime
这两个单独的变量。当任意一个变量发生变化时,对应的watch
函数会被触发。因此,如果startTime
和endTime
都发生了变化,每个watch
函数都会被触发一次,共触发两次getLineData
函数。