ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Vue中用watch一次监听两个值的变化

2026/9/15 0:40:27 拓冰建站 浏览量
Vue中用watch一次监听两个值的变化

        在Vue中,watch 本身不能监听多个变量。但我们可以通过返回具有计算属性的对象然后监听该对象,从而实现一次性“监听多个变量”。

  1. 在data中定义需要的属性
  2. 在computed中返回一个包含将被监听的的各个对象的计算属性
  3. 在watch中监听该计算属性

举个例子:

export default {data() {return {msg1:  "message1",msg2:  "message2"}},computed: {msgObj() {const { msg1, msg2 } = thisreturn {msg1,msg2}}},watch: {msgObj: {handler(newVal, oldVal) {//newVal和oldVal的值就是新旧msgObj的值,即msg1和msg2的值//接下来在这里写将要进行的操作if (newVal.msg1 != oldVal.msg1) {console.log( "msg1 is change!!!" )}if (newVal.msg2 != oldVal.msg2) {console.log( "msg2 is change!!!" )}},deep: true}}
}

这样,我们就实现了再watch中一次性监听两个值的变化。

想要一次性监听更多个值也可以这么操作。