Vue.js 中使用 watch 函数时,如何避免 if 语句成立时的触发?
通过添加一个条件判断来实现,当if语句成立时,不执行watch函数。修改后的代码如下:
if (unref(isUpdate)) {
const receive = data?.record;
Object.assign(planModel, receive);
if (planModel.checkDate != null) {
planModel.checkDate = dayjs(planModel.checkDate);
}
planModel.totalScore = parseInt(planModel.totalScore);
} else {
watch(() => planModel.eatScore, (newVal, oldVal) => {
planModel.totalScore += newVal - oldVal;
});
watch(() => planModel.washScore, (newVal, oldVal) => {
planModel.totalScore += newVal - oldVal;
});
watch(() => planModel.wearScore, (newVal, oldVal) => {
planModel.totalScore += newVal - oldVal;
});
watch(() => planModel.toiletScore, (newVal, oldVal) => {
planModel.totalScore += newVal - oldVal;
});
watch(() => planModel.moveScore, (newVal, oldVal) => {
planModel.totalScore += newVal - oldVal;
});
}
这样,当if语句成立时,watch函数不会被执行。
原文地址: https://www.cveoy.top/t/topic/pKVB 著作权归作者所有。请勿转载和采集!