当前位置:首页 > VUE

vue ref实现

2026-01-13 02:33:21VUE

Vue 中 ref 的实现

在 Vue 3 中,ref 是一个用于创建响应式数据的核心 API。它可以将基本类型或对象包装为一个响应式引用,通过 .value 访问或修改其值。

基本用法

import { ref } from 'vue';

const count = ref(0); // 创建一个响应式引用
console.log(count.value); // 访问值
count.value++; // 修改值

实现原理

ref 的核心是通过 ReactiveEffect 和依赖收集实现响应式。以下是简化版的实现逻辑:

function ref(value) {
  return {
    get value() {
      track(this, 'value'); // 收集依赖
      return value;
    },
    set value(newVal) {
      value = newVal;
      trigger(this, 'value'); // 触发更新
    }
  };
}

模板中使用

在模板中,ref 会自动解包,无需使用 .value

vue ref实现

<template>
  <button @click="count++">{{ count }}</button>
</template>

reactive 的区别

  • ref 适用于基本类型或对象,通过 .value 访问。
  • reactive 仅适用于对象,直接访问属性。

实际应用场景

  • 表单输入绑定:
    const inputValue = ref('');
  • 组件引用:
    <child-component ref="childRef" />
    const childRef = ref(null);

注意事项

  • 在组合式 API 中,ref 是响应式编程的基础工具。
  • 在选项式 API 中,this.$refs 用于访问模板引用,与组合式 API 的 ref 不同。

标签: vueref
分享给朋友:

相关文章

vue实现视窗

vue实现视窗

Vue 实现视窗功能 在 Vue 中实现视窗功能通常涉及监听浏览器窗口大小变化、响应式布局或创建自定义弹窗组件。以下是几种常见实现方式: 监听浏览器窗口大小变化 使用 Vue 的 mounted 和…

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-for…

实现 vue 框架

实现 vue 框架

Vue 框架的基本实现 Vue 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是实现 Vue 框架的基本步骤和核心概念。 核心概念 响应式数据绑定 Vue 的核心特性之一是响应式数…

vue的实现

vue的实现

Vue 的实现原理 Vue 是一个渐进式 JavaScript 框架,其核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是 Vue 实现的主要技术细节。 响应式系统 Vue 的响…

vue筛选实现

vue筛选实现

Vue 筛选实现方法 使用计算属性实现筛选 计算属性是 Vue 中实现数据筛选的常用方式。通过定义一个计算属性,可以根据输入的条件动态过滤数据。 <template> <div…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <label…