iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue3中的ref与reactive使用方法对比
  • 382
分享到

vue3中的ref与reactive使用方法对比

vue3中的ref与reactivevue3refreactive使用 2023-05-16 14:05:04 382人浏览 独家记忆
摘要

目录一、ref二、Reactive三、ref和reactive的使用对比1.ref的使用方法2. reactive的使用方法四、总结vue3 与之前的版本相比有很多改进,其中最重要的

vue3 与之前的版本相比有很多改进,其中最重要的改进之一是对响应式数据的处理方式。Vue3 提供了两个新的 apirefreactive,它们可以帮助我们更好地管理和处理响应式数据。在这篇文章中,我们将详细介绍 Vue3 中的 refreactive 的区别和使用方法。

一、ref

ref 是 Vue3 中的一个函数,它可以将一个普通的变量转化为一个响应式变量。使用 ref 的时候,我们需要传入一个初始值,ref 会返回一个包含了这个初始值的对象。

使用 ref 的语法如下所示:

import { ref } from 'vue';
const count = ref(0);

在上面的代码中,我们创建了一个名为 count 的变量,它的初始值为 0。通过调用 ref 函数,我们将 count 变量转化为了一个 ref 对象。在组件中使用 count 的时候,我们需要通过 .value 来访问它的值,且ref.value = 可以修改它的值。但是当 ref 在模板中作为顶层属性被访问时,它们会被自动“解包”,所以不需要使用 .value。:

<template>
  <div>{{ count }}</div>
</template>
------------------
<script setup>
import { ref } from 'vue';
const count = ref(0);
console.log(count)//RefImpl {...}
console.log(count.value)//0
//使用.value改变count
count.value = 3;
console.log(count.value)//3
</script>

注意:在标签中使用无需加.value,在函数中使用必须要加.value

除此之外,ref 还可以用来监听 DOM 元素的变化:

<template>
  <div ref="myDiv">这是一个 DOM 元素</div>
</template>

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

  export default {
    setup() {
      const myDiv = ref(null);

      onMounted(() => {
        console.log(myDiv.value.innerhtml);
      });

      return {
        myDiv,
      };
    },
  };
</script>

在上面的代码中,我们创建了一个名为 myDivref 对象,并将它赋值给了一个 div 元素。在组件的 setup 函数中,我们使用了 onMounted 钩子函数,在组件渲染完成之后,打印出了 myDiv 元素的 innerHTML

二、reactive

reactive 是 Vue3 中的另一个 API,它可以将一个普通的对象转化为一个响应式对象。与 ref 不同的是,reactive 返回的是一个响应式的对象,而不是一个包含值的对象。我们可以通过访问响应式对象的属性来获取或修改它的值。

使用 reactive 的语法如下所示:

import { reactive } from 'vue';
const state = reactive({
  count: 0,
});

在上面的代码中,我们创建了一个名为 state 的响应式对象,它包含了一个名为 count 的属性,初始值为 0。

在组件中使用 state 的时候,我们可以像访问普通对象的属性一样访问它的属性:

<template>
  <div>{{ state.count }}</div>
</template>

除了访问属性之外,reactive 也可以对普通 javascript 对象或数组进行响应式处理,可以通过 reactive 将一个普通对象转化为响应式对象,从而实现对整个对象的响应式追踪,例如:

const obj = { a: 1, b: 2 };
const reactiveObj = reactive(obj);

// 响应式追踪
reactiveObj.a = 3;
console.log(obj.a); // 输出 3

reactive 还可以在嵌套对象和数组中创建响应式对象,例如:

const obj = { 
  a: 1, 
  b: { c: 2 },
  d: [1, 2, 3]
};
const reactiveObj = reactive(obj);

// 响应式追踪
reactiveObj.b.c = 3;
reactiveObj.d.push(4);

reactive 还支持在嵌套对象中使用 toRefs 将响应式对象的属性转换为响应式引用,方便在模板中使用。例如:

const obj = reactive({ a: 1, b: { c: 2 } });
const { b } = toRefs(obj);

// 模板中使用
<template>
  <div>{{ b.c }}</div>
</template>

总之,reactive 除了访问属性之外还能处理整个对象或数组的响应式追踪,以及支持在嵌套对象中使用 toRefs 方便在模板中使用。

三、ref和reactive的使用对比

1.ref的使用方法

ref创建的变量可以通过.value来获取和修改其值。例如:

import { ref } from 'vue'

// 创建ref
const count = ref(0)

// 获取ref的值
console.log(count.value) // 输出 0

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

2. reactive的使用方法

reactive创建的对象需要通过解构赋值的方式获取和修改其属性值。例如:

import { reactive } from 'vue'

// 创建reactive对象
const obj = reactive({
  count: 0
})

// 获取reactive对象的属性值
console.log(obj.count) // 输出 0

// 修改reactive对象的属性值
obj.count = 1
console.log(obj.count) // 输出 1

四、总结

在Vue 3中,refreactive都是响应式的API,但是它们的用途不同。ref用于创建简单的值类型变量,而reactive则用于创建复杂的对象。ref创建的变量需要使用.value来获取和修改其值,而reactive创建的对象需要使用解构赋值来获取和修改其属性值。当我们在开发Vue 3应用时,需要根据具体的场景选择使用ref或者reactive。在创建简单的值类型变量时,使用ref可以更方便地获取和修改其值。而当我们需要创建复杂的对象时,使用reactive可以更方便地进行响应式更新。同时,Vue 3也提供了toReftoRefs这两个API,用于将reactive对象的属性转换为ref对象,方便获取和修改其值。

到此这篇关于vue3中的ref与reactive的文章就介绍到这了,更多相关vue3中的ref与reactive内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue3中的ref与reactive使用方法对比

本文链接: https://www.lsjlt.com/news/210204.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3中的ref与reactive使用方法对比
    目录一、ref二、reactive三、ref和reactive的使用对比1.ref的使用方法2. reactive的使用方法四、总结Vue3 与之前的版本相比有很多改进,其中最重要的...
    99+
    2023-05-16
    vue3中的ref与reactive vue3 ref reactive使用
  • vue3中的ref与reactive如何使用
    本文小编为大家详细介绍“vue3中的ref与reactive如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中的ref与reactive如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、r...
    99+
    2023-07-06
  • Vue3中reactive与ref函数使用场景
    目录前言简单了解 ref & reactivereactiverefreactive 能做的 ref 也能做,并且还是用 reactive 做的ref 能做,但是 react...
    99+
    2024-04-02
  • vue3中的ref、reactive怎么使用
    本篇内容主要讲解“vue3中的ref、reactive怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue3中的ref、reactive怎么使用”吧!reactive()基本用法在 Vu...
    99+
    2023-07-05
  • Vue3中的ref和reactive怎么使用
    今天小编给大家分享一下Vue3中的ref和reactive怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、是什么r...
    99+
    2023-07-06
  • vue3中ref和reactive怎么使用
    这篇“vue3中ref和reactive怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中ref和reacti...
    99+
    2023-07-05
  • vue3中如何使用ref和reactive
    这篇文章主要介绍“vue3中如何使用ref和reactive”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3中如何使用ref和reactive”文章能帮助大家解决问题。1.前言vue3新增了r...
    99+
    2023-07-06
  • Vue3中ref与reactive的详解与扩展
    目录一、ref和reactive1.reactive2.ref 二、shallowRef和shallowReactive1. ref和shallowRef2. reactive和sh...
    99+
    2024-04-02
  • Vue3中的ref和reactive如何使用
    这篇文章主要讲解了“Vue3中的ref和reactive如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3中的ref和reactive如何使用”吧!一、是什么ref和reacti...
    99+
    2023-07-06
  • Vue3响应式的ref与reactive怎么使用
    这篇文章主要讲解了“Vue3响应式的ref与reactive怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3响应式的ref与reactive怎么使用”吧!ref:定义基本数据类...
    99+
    2023-07-04
  • 怎么在vue3中使用setup、 ref、reactive
    本篇文章为大家展示了怎么在vue3中使用setup、 ref、reactive,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听...
    99+
    2023-06-15
  • vue3中如何使用setup、 ref和reactive
    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref 在vue中内置...
    99+
    2023-05-16
    Vue3 reactive setup
  • 如何在vue3中使用setup、 ref、reactive
    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref 在vue中内置...
    99+
    2023-05-14
    Vue3 reactive setup
  • Vue3中ref与reactive的介绍和拓展
    本篇内容主要讲解“Vue3中ref与reactive的介绍和拓展”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3中ref与reactive的介绍和拓展”吧!一、ref和reactive死死...
    99+
    2023-06-20
  • vue3+ts中怎么使用ref与reactive指定类型
    今天小编给大家分享一下vue3+ts中怎么使用ref与reactive指定类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-02
  • Vue3响应式对象Reactive和Ref的用法解读
    目录一、内容简介二、Reactive1. 关键源码2. 源码流程分析三、代理拦截操作1. 数组操作2.Get操作3. Set操作4. 其余行为拦截操作四、Ref对象1. 思考一个问题...
    99+
    2024-04-02
  • Vue3中reactive与ref函数使用场景是什么
    本文小编为大家详细介绍“Vue3中reactive与ref函数使用场景是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue3中reactive与ref函数使用场景是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-02
  • 详解Vue3中ref和reactive函数的使用
    目录前言ref 函数介绍ref 函数使用ref 函数处理基本数据类型ref 函数处理复杂数据类型ref 函数获取单个DOM元素其他相关方法reactive 函数介绍reactive ...
    99+
    2024-04-02
  • vue3组合API中setup、 ref、reactive的使用大全
    1.初识setUp的使用 简单介绍下面的代码功能: 使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。 setUp函数是组合API的入口函数。这个是非常重要的。 se...
    99+
    2024-04-02
  • 怎么在vue3中使用setup、 ref和reactive
    本文小编为大家详细介绍“怎么在vue3中使用setup、 ref和reactive”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在vue3中使用setup、 ref和reactive”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作