前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue3中如何使用 watch 函数来观察响应式数据的变化

vue3中如何使用 watch 函数来观察响应式数据的变化

原创
作者头像
国服第二切图仔
发布2024-06-15 22:40:26
1060
发布2024-06-15 22:40:26
举报
文章被收录于专栏:jsjs

前言

在 Vue 3 中,可以使用 watch 函数来观察响应式数据的变化。这个函数可以在组件的 setup 函数中使用。watch()方法还可以实现更多复杂的功能,比如异步获取数据并在数据更新时重新渲染页面。

代码示例

1、以下是一个使用 Vue 3 watch 函数的简单示例:

代码语言:javascript
复制
<template>
  <div>
    <p>Count: {{ count }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>

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

export default defineComponent({
  setup() {
    const count = ref(0);
    
    // 定义一个方法用于增加 count
    function increment() {
      count.value++;
    }

    // 使用 watch 函数来观察响应式数据 count 的变化
    watch(count, (newValue, oldValue) => {
      console.log(`Count changed from ${oldValue} to ${newValue}`);
    });

    return {
      count,
      increment,
    };
  },
});
</script>

2、多个变量的监听:

代码语言:javascript
复制
除了单个变量的监听,watch()还可以监听多个变量的变化,以及获取旧值/新值的情况。

多个变量的监听:

   // 使用 watch 函数来观察响应式数据 count 的变化
    watch([count1,count2], ([newcount1, newcount2],[oldcount1,oldcount2]) => {
      console.log(`Count changed from ${oldcount1} to ${newcount1}`);
      console.log(`Count changed from ${oldcount2} to ${newcount2}`);
    },
{deep:true}
);

在这个例子中,我们传递了一个选项对象,用于开启深层监听。这种方式可以使watch()监听的变量案例更加庞大复杂。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 代码示例
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档