当前位置: 首页 > article >正文

vue3入门教程:ref函数

基本用法

  1. 引入 ref

    首先,你需要从 vue 包中引入 ref 函数:

    import { ref } from 'vue';
    
  2. 创建一个响应式变量

    使用 ref 函数来创建一个响应式变量:

    const count = ref(0);
    

    这里,count 是一个响应式引用对象,其 .value 属性初始值为 0

  3. 在模板中使用

    在 Vue 模板中,你可以直接访问响应式引用对象的值,而不需要使用 .value

    <template>
      <div>{{ count }}</div>
    </template>
    
  4. 在 JavaScript 中使用

    在 JavaScript 代码中,你需要通过 .value 来访问或修改响应式变量的值:

    count.value = 1;
    console.log(count.value);  // 输出: 1
    

在组合式 API 中使用

ref 通常与 Vue 的组合式 API 一起使用,特别是在 setup 函数中:

import { ref } from 'vue';

export default {
  setup() {
    const count = ref(0);

    function increment() {
      count.value++;
    }

    return {
      count,
      increment
    };
  }
};

在模板中:

<template>
  <div>
    <p>{{ count }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>

ref 与原始类型

ref 可以用于基本数据类型(如数字、字符串、布尔值)以及对象和数组。对于对象和数组,ref 会使其变得“响应式”,即对象的属性或数组的元素发生变化时,Vue 也能检测到并更新视图。

refreactive

refreactive 都是 Vue 3 中的响应式 API,但它们有不同的使用场景:

  • ref 用于基本数据类型和保存单一对象的引用。
  • reactive 用于创建响应式的对象或数组。

简单来说,如果你有一个基本数据类型或者想要一个明确的引用,使用 ref;如果你有一个对象或数组,并且想要使其内部属性和元素也响应式,使用 reactive

toReftoRefs

有时候你可能需要将一个响应式对象中的某个属性转换为 ref,这时候可以使用 toReftoRefs

import { reactive, toRef, toRefs } from 'vue';

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

const countRef = toRef(state, 'count');
const { name } = toRefs(state);

总结

ref() 是 Vue 3 中非常强大的一个工具,它使得创建和管理响应式数据变得更加简单和直观。通过合理使用 ref,你可以更好地组织你的代码,使其更加模块化和可维护。希望这篇深入教程能帮助你更好地理解和使用 ref()


http://www.kler.cn/a/451534.html

相关文章:

  • 嵌入式学习-QT-Day06
  • Yolo11改策略:卷积改进|SAC,提升模型对小目标和遮挡目标的检测性能|即插即用
  • Python|Pyppeteer实现自动化获取reCaptcha验证码图片以及提示词(29)
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战训练三)
  • Linux的启动流程
  • 14:30面试,14:08就出来了,面试问的有点变态呀。。。
  • 在C#中制作一个字符串扩展来确定字符串是否与正则表达式匹配
  • RTMW:实时多人2D和3D 全人体姿态估计
  • 纯相位全息图优化算法综述
  • 抖音电商的崛起:API接口在其中的作用
  • OpenCV相机标定与3D重建(28)估计两个三维点集之间的最优平移变换函数estimateTranslation3D()的使用
  • 【C++】18___list容器
  • 无人机搭载rtk技术详解!
  • leetcode hot100 二叉树的最大深度
  • 数据结构之线性表之顺序表
  • 《智驱新材合成:AI 点亮创新路径之光》
  • upload-labs通关记录1
  • 图片和媒体资源的优化:提升Web应用性能与用户体验的关键
  • 生活家居的选择:打造温馨舒适的小窝
  • 科技快讯 | 刘强东提前发年终奖;理想超充站超时占用费试运营;美团听障骑手助手全量上线;微信视频号评论区可以斗图了
  • 关于日期的方法们
  • 频谱分析仪的关键性能指标有哪些?
  • 生成签名文件 .keystore
  • wfb-ng 开源代码之libsodium应用
  • 自动控制系统综合与LabVIEW实现
  • WebAPI编程(第一天,第二天)