Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue3 深度监听

作者:枫尘于往逝   发布日期:2025-04-21   浏览:61

// 使用 Vue 3 的 watch 深度监听对象或数组的变化

<template>
  <div>
    <input v-model="user.name" placeholder="Enter name" />
    <input v-model="user.age" placeholder="Enter age" />
  </div>
</template>

<script>
import { ref, reactive, watch } from 'vue';

export default {
  setup() {
    // 定义一个响应式对象
    const user = reactive({
      name: '',
      age: ''
    });

    // 深度监听 user 对象的变化
    watch(user, (newValue, oldValue) => {
      console.log('user changed:', newValue, oldValue);
    }, { deep: true });

    return {
      user
    };
  }
};
</script>

解释说明:

  1. reactive: 创建一个响应式对象 user,它包含 nameage 属性。
  2. watch: 监听 user 对象的变化。通过传递第三个参数 { deep: true },可以实现深度监听,即当 user 对象内部的属性发生变化时也会触发监听回调。
  3. 回调函数:在回调函数中,可以获取到变化前后的值 (newValueoldValue),并执行相应的逻辑(如打印日志)。

这种方式适用于需要监听复杂对象或数组的变化场景。

上一篇:vue自定义表单

下一篇:electron + vue

大家都在看

vue.config.js configu

node.js vue

vue查看版本

vue等待几秒

vue3 setup computed

vue screenfull

vue json.stringify

vue 遍历list

typescript vue

vue 复选框

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站