vue watch监听

在 Vue.js 中,watch 是一个对象,用于观察和响应 Vue 实例上的数据变化。当被监视的属性发生变化时,watch 里的回调函数将被调用。

(vue2)官方文档:计算属性和侦听器 — Vue.js (vuejs.org)

下面是一个简单的 watch 示例:

<template>  
  <div>  
    <input v-model="message" placeholder="输入一些文字...">  
    <p>{
  { message }}</p>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      message: ''  
    };  
  },  
  watch: {  
    // 监听 message 属性的变化  
    message(newVal, oldVal) {  
      console.log(`新的 message 值是: ${newVal}`);  
      console.log(`旧的 message 值是: ${oldVal}`);  
    }  
  }  
};  
</script>

在这个例子中,当 message 的值发生变化时,watch 里的回调函数将被调用,并打印出新旧的值。

你还可以使用深度监听对象或数组的变化,只需在 watch 选项中将属性设置为一个对象,并设置 deep 属性为 true

<template>  
  <div>  
    <input v-model="userInfo.name" placeholder="输入名字...">  
    <p>{
  { userInfo.name }}</p>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      userInfo: {  
        name: ''  
      }  
    };  
  },  
  watch: {  
    userInfo: {  
      handler(newVal, oldVal) {  
        console.log(`新的 userInfo 值是:`, newVal);  
        console.log(`旧的 userInfo 值是:`, oldVal);  
      },  
      deep: true // 深度监听  
    }  
  }  
};  
</script>

在这个例子中,当 userInfo 对象的 name 属性发生变化时,watch 里的回调函数将被调用,并打印出新旧的值。

此外,还可以使用 immediate 属性,使得 watch 在初始化时立即执行一次回调函数:

watch: {  
  message: {  
    handler(newVal, oldVal) {  
      console.log(`新的 message 值是: ${newVal}`);  
      console.log(`旧的 message 值是: ${oldVal}`);  
    },  
    immediate: true // 初始化时立即执行  
  }  
}

在这个例子中,watch 在初始化时将立即执行一次回调函数,打印出 message 的初始值。

更多请看其他大佬文章: 

Vue.js 监听属性 | 菜鸟教程 (runoob.com) 

Vue进阶(三十五):watch 监听函数详解 - 掘金 (juejin.cn) 

Vue之watch监听的原理_vue watch原理-CSDN博客 

vue的watch监听_vue watch监听-CSDN博客 

vue-watch监听功能(侦听器)详解&使用_vue watch监听-CSDN博客 

相关推荐

  1. 数据库监控监听

    2024-02-18 05:58:06       39 阅读
  2. 【VUE】watch 监听失效

    2024-02-18 05:58:06       59 阅读
  3. oracle 修改监听端口

    2024-02-18 05:58:06       54 阅读
  4. LayUI 监听 Radio

    2024-02-18 05:58:06       46 阅读
  5. vue watch监听

    2024-02-18 05:58:06       60 阅读
  6. Maya监听 DAG events

    2024-02-18 05:58:06       51 阅读

最近更新

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

    2024-02-18 05:58:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 05:58:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 05:58:06       87 阅读
  4. Python语言-面向对象

    2024-02-18 05:58:06       96 阅读

热门阅读

  1. Vue路由

    Vue路由

    2024-02-18 05:58:06      43 阅读
  2. 防火墙HA详解

    2024-02-18 05:58:06       50 阅读
  3. 阿里云服务器安装MySQL、Apache、PHP

    2024-02-18 05:58:06       44 阅读
  4. linux ubuntu Mysql 安装指南

    2024-02-18 05:58:06       57 阅读
  5. git常用命令

    2024-02-18 05:58:06       50 阅读
  6. Hadoop-Yarn-NodeManager都做了什么

    2024-02-18 05:58:06       46 阅读
  7. 【Hadoop】Yarn 任务管理指令

    2024-02-18 05:58:06       52 阅读
  8. 作业2.14

    2024-02-18 05:58:06       42 阅读
  9. CSS transition(过渡效果)详解

    2024-02-18 05:58:06       44 阅读
  10. Python循环语句——for循环的嵌套使用

    2024-02-18 05:58:06       53 阅读
  11. Python学习之路-爬虫进阶:爬虫框架

    2024-02-18 05:58:06       58 阅读
  12. 10个常考的前端手写题

    2024-02-18 05:58:06       63 阅读