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

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

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

举个例子:

export default {
    data() {
        return {
            msg1:  "message1",
            msg2:  "message2"
        }
    },
    computed: {
        msgObj() {
            const { msg1, msg2 } = this
            return {
                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中一次性监听两个值的变化。

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

相关推荐

  1. Vuewatch监听变化

    2024-01-07 21:20:01       54 阅读
  2. Vue使用watch监听Vuex数据变化

    2024-01-07 21:20:01       35 阅读
  3. Vue 监控变化watch

    2024-01-07 21:20:01       28 阅读
  4. Vue2之父子组件传使用watch监听props对象

    2024-01-07 21:20:01       31 阅读
  5. vuewatch监听路由传来参数变化问题

    2024-01-07 21:20:01       42 阅读
  6. vue3:warch监听几种写法

    2024-01-07 21:20:01       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 21:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 21:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 21:20:01       82 阅读
  4. Python语言-面向对象

    2024-01-07 21:20:01       91 阅读

热门阅读

  1. 写字母(文件)

    2024-01-07 21:20:01       51 阅读
  2. ubuntu2204,mysql8.x安装

    2024-01-07 21:20:01       57 阅读
  3. 【spring之条件评估器】

    2024-01-07 21:20:01       50 阅读
  4. AMP 通讯RPMsg

    2024-01-07 21:20:01       64 阅读
  5. PHP运行环境之宝塔Web站点部署

    2024-01-07 21:20:01       51 阅读
  6. Android 车联网——电源管理功能扩展(十)

    2024-01-07 21:20:01       49 阅读
  7. Linux&Shell--多服务器自动登录连接

    2024-01-07 21:20:01       62 阅读