详细分析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>

在实战中常用如下:

相关推荐
CAD老兵1 分钟前
TypeScript 中的 yield 和 Generator 使用指南
前端
水冗水孚2 分钟前
使用nodejs的express框架实现大文件上传的功能,附完整前后端github代码
javascript·node.js·express
GIS之路3 分钟前
OpenLayers 创建坐标系统
前端
前端日常开发3 分钟前
你真的懂vue组件的封装?
前端
error_cn3 分钟前
python代码优化策略
前端
error_cn6 分钟前
unset命令常见错误
前端
星河丶8 分钟前
React 中的合成事件
前端·react.js
小小小小宇2 小时前
ESLint 插件笔记
前端
纪伊路上盛名在2 小时前
jupyter内核崩溃
前端·数据库·jupyter·生物信息·基因组·k-mer
Net蚂蚁代码3 小时前
Angular入门的环境准备步骤工作
前端·javascript·angular.js