详细分析Vue3中的ref(附Demo)

目录

  • 前言
  • [1. 基本知识](#1. 基本知识)
  • [2. Demo](#2. Demo)

前言

由于新项目涉及Vue3,本着探究问题的本质研究所不会的疑问

1. 基本知识

ref 是 Vue 3 中用于创建响应式数据的函数

  • 接收一个初始值并返回一个包含了该值的响应式引用对象
  • 与 Vue 2.x 中的 data 属性不同,ref 返回的是一个对象,而不是一个直接的值

主要的用法如下:

js 复制代码
import { ref } from 'vue';

// 创建一个 ref
const count = ref(0);

// 读取 ref 的值
console.log(count.value); // 输出:0

// 修改 ref 的值
count.value++;
console.log(count.value); // 输出:1

具体的作用如下:

  • 创建响应式数据 :通过 ref 创建的数据是响应式的,当数据发生变化时,相关的视图会自动更新

  • 引用数据的访问和修改.value 属性可以访问和修改 ref 的值

    这种方式让数据的访问和修改更加直观和一致

  • 在模板中使用:可以直接在模板中使用 ref 创建的响应式数据,而不需要像 Vue 2.x 中一样通过 this 访问

  • 跟踪数据变化:Vue 3 中的 ref 通过 ES6 的 Proxy 实现,能够跟踪数据的读取和修改,从而实现数据的响应式更新

2. Demo

示例简易的Demo如下:

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

<script>
import { ref } from 'vue';

export default {
  setup() {
    // 创建一个 ref
    const count = ref(0);

    // 定义一个增加 count 的方法
    const increment = () => {
      count.value++;
    };

    // 返回模板中需要用到的数据和方法
    return {
      count,
      increment,
    };
  },
};
</script>

在实战中常用如下:

相关推荐
郭老二4 小时前
【前端】vue3:编译步骤
前端
不在逃避q5 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁5 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9855 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易5 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师6 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174467 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈7 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen8 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒8 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端