Vue3的ref和reactive

这篇具有很好参考价值的文章主要介绍了Vue3的ref和reactive。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、ref的基本使用

2、reactive的基本使用

3、ref操作dom

4、ref与reactive的异同


1、ref的基本使用

ref创建数据可以是基本类型也可以是引用类型

ref函数创建响应式数据,返回值是一个对象

模版中使用ref数据,省略.value,js代码中不能省略

获取ref创建数据的值要加上.value

<script setup>
// ref函数创建响应式数据,返回值是一个对象
// 模版中使用ref数据,省略.value,js代码中不能省略
import { ref } from 'vue'
const obj =ref({
  name: '北京',
  desc: '政治文化中心'
})
// 修改城市的方法
const change = () => {
  obj.value.name = '上海'
}
</script>

<template>
  <div>Hello Vue3</div>
  <p>城市 {{ obj.name }}</p>
  <button @click="change">修改城市</button>
</template>

<style scoped></style>

2、reactive的基本使用

 

reactive创建响应式

reactive函数创建响应式数据,只支持引用数据类型

使用reactive响应式数据的时候,不需要.value

<script setup>
// reactive函数创建响应式数据,只支持引用数据类型
// 使用reactive响应式数据的时候,不需要.value


import { reactive } from 'vue'
const user = reactive({
  name: 'admin',
  pwd: '123456'
})
const changeUserName = () => {
  user.name = 'admin666' 
}
</script>

<template>
  <div>Hello Vue3</div>
  <p>姓名 {{ user.name }}</p>
  <button @click="changeUserName">修改姓名</button>
</template>

<style scoped></style>

 

3、ref操作dom

1、创建ref对象,将该对象作为ref的值

2、想获取谁,就再谁的标签上添加ref,其ref=‘ref对象’

 

<script setup >

import {ref} from 'vue'
// 创建ref对象
const eleref=ref()
const changeBackgroundColor=()=>{
eleref.value.style.backgroundColor='pink'
}

</script>

<template>
<div>hello,world</div>
<!-- ref='ref对象' -->
<p ref="eleref">pppp</p>
<button @click="changeBackgroundColor"> 改变背景色</button>

</template>

<style scoped>

</style>

4、ref与reactive的异同

  1. 相同点 : 都可以创建响应式数据

  2. 不同点 : reactive只支持引用数据类型,ref支持基本和引用数据类型

  • ref通过.value获取数据,reactive不需要.value

  • ref创建响应式引用数据类型低层依赖reactive文章来源地址https://www.toymoban.com/news/detail-819644.html

到了这里,关于Vue3的ref和reactive的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3的ref和reactive

    目录 1、ref的基本使用 2、reactive的基本使用 3、ref操作dom 4、ref与reactive的异同 ref创建数据可以是基本类型也可以是引用类型 ref函数创建响应式数据,返回值是一个对象 模版中使用ref数据,省略.value,js代码中不能省略 获取ref创建数据的值要加上.value   reactive创建响应式 reac

    2024年01月24日
    浏览(46)
  • vue3 ref 和 reactive 区别

    最近学习cloud项目,前端使用到 vue3 + ts 等技术,在写需求过程中遇到 响应式数据问题,经百度查找相关笔记 ,在此记录一下,在实战中成长吧。 出现的问题 : 定义一个默认数组并且 for 循环展示,后端返回数据并且赋值到数组中,但是展示的值并不会修改 原因 : 在 js 中

    2023年04月09日
    浏览(62)
  • 谈谈Vue3中的ref和reactive

    一、是什么? ref和reactive是Vue3中用来实现 数据响应式的API 一般情况下, ref 定义基本数据类型, reactive 定义引用数据类型 (我喜欢用它来定义对象,不用它定义数组,原因后面讲) 我理解的 ref本质上是reactive的再封装 二、先聊reactive reactive定义引用数据类型(以对象和数

    2023年04月21日
    浏览(38)
  • 前端Vue篇之Vue3响应式:Ref和Reactive

    在Vue3中,响应式编程是非常重要的概念,其中 Ref 和 Reactive 是两个关键的API。 Ref : Ref 用于创建一个响应式的基本数据类型,比如数字、字符串等。它将普通的数据变成响应式数据,可以监听数据的变化。使用 Ref 时,我们可以通过 .value 来访问和修改数据的值。 Reactive :

    2024年04月25日
    浏览(48)
  • vue3中的ref 和 reactive 定义数组

    在vue3中,定义响应式数据一般有两种方式:ref 和 reactive 一般来说,我们使用 ref 来定义基本数据类型,使用 reactive 来定义复杂数据类型 但是也可以使用 ref 来定义数组 两种情况:定义时就将数组初始化、定义时未初始化数组 初始化数组 未初始化数组 但是这样定义的会出现

    2024年02月15日
    浏览(44)
  • vue3中 reactive和ref的区别

    在Vue 3中,reactive和ref都是用于响应式数据的API。它们的主要区别在于使用方式和返回值类型。 reactive函数用于将一个对象转换为响应式对象。它接收一个普通的JavaScript对象,并返回一个被代理的响应式对象。这意味着当响应式对象的属性发生更改时,Vue会自动检测到并重新

    2024年02月07日
    浏览(35)
  • Vue3 中应该使用 Ref 还是 Reactive?

    你可能会好奇:为什么我们需要使用带有  .value  的 ref,而不是普通的变量?为了解释这一点,我们需要简单地讨论一下 Vue 的响应式系统是如何工作的。 当你在模板中使用了一个 ref,然后改变了这个 ref 的值时,Vue 会自动检测到这个变化,并且相应地更新 DOM。这是通过一

    2024年02月20日
    浏览(41)
  • vue3中reactive和ref的比较

              用函数调用的方式生成响应式数据   推荐使用ref函数,更加灵活,小兔鲜项目主用ref

    2024年02月12日
    浏览(43)
  • vue3之reactive和ref学习篇

    change函数实现了一个简单的0-10的一个自增自减的循环,之所以记录是自己写的时候费了点时间,一直在想这个判断条件怎么优化,其实条件无法继续优化了,除非一个一个数字判断或者循环,加一个标志increasing就能解决的事想了半天

    2024年02月11日
    浏览(35)
  • Vue3.0 reactive与ref :VCA模式

    Vue3 最大的一个变动应该就是推出了 CompositionAPI,可以说它受ReactHook 启发而来;它我们编写逻辑更灵活,便于提取公共逻辑,代码的复用率得到了提高,也不用再使用 mixin 担心命名冲突的问题。 ref 与 reactive 是  Vue3  新推出的主要  API  之一,它们主要用于响应式数据的

    2024年02月06日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包