vue3 ref和reactive使用watch属性的方法和区别

在Vue 3中,您可以使用watch函数和watch选项来监视refreactive创建的响应式数据的变化。下面是它们的使用方法和区别:

使用方法:

使用refwatch
复制代码
import { ref, watch } from 'vue';

const count = ref(0);

watch(count, (newVal, oldVal) => {
  console.log(`count 从 ${oldVal} 变为 ${newVal}`);
});
使用reactivewatch
复制代码
import { reactive, watch } from 'vue';

const state = reactive({
  count: 0,
});

watch(
  () => state.count,
  (newVal, oldVal) => {
    console.log(`count 从 ${oldVal} 变为 ${newVal}`);
  }
);

区别:

  1. 对单个值的监视:

    • ref用于创建单个基本数据类型的响应式数据,可以直接通过watch来监视其变化。
    • reactive用于创建包含多个属性的响应式对象,需要通过() => state.count这样的方式来指定要监视的属性。
  2. 访问值的方式:

    • ref中,您需要使用.value来访问或修改其值。
    • reactive中,您可以直接访问和修改其属性。
  3. 适用场景:

    • ref适合用于创建单个基本数据类型的响应式数据,例如数字、字符串等。
    • reactive适合用于创建包含多个属性的响应式对象。

总之,无论是ref还是reactive创建的数据,都可以使用watch来监视其变化,并执行相应的操作。只是在使用方法和适用场景上有一些区别。

相关推荐
Anita_Sun几秒前
Lodash 源码解读与原理分析 - Lodash IIFE 与兼容性处理详解
前端
用户904706683572 分钟前
Nuxt 请求后端接口怎么写,一篇文章讲清楚
前端
ahubbub5 分钟前
用 maptalks 在 Web 上做可扩展的 2D/3D 地图渲染与交互
前端
JosieBook7 分钟前
【Vue】11 Vue技术——Vue 中的事件处理详解
前端·javascript·vue.js
韩曙亮8 分钟前
【jQuery】jQuery 简介 ( JavaScript 库简介 | jQuery 核心概念、特点 | jQuery 下载并使用 )
前端·javascript·jquery
安逸点10 分钟前
Vue项目中使用xlsx库解析Excel文件
vue.js
一只小阿乐17 分钟前
vue 改变查询参数的值
前端·javascript·vue.js·路由·router·网文·未花中文网
Mintopia17 分钟前
😎 HTTP/2 中的 HPACK 压缩原理全揭秘
前端·人工智能·aigc
程序员爱钓鱼25 分钟前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
爱迪斯通34 分钟前
Xsens为拳击康复训练带来运动数据支持
前端