我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue3中的shallowRef 和shallowReactive对比分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue3中的shallowRef 和shallowReactive对比分析

 shallowRef

只处理基本数据类型的响应式, 不进行对象的响应式处理。

<template>
  <h1>{{ user.age }}</h1>
  <button @click="user.age++">点击+</button>
</template>
  
<script setup lang="ts">
import { reactive, ref, shallowReactive, shallowRef } from 'vue';
 
let user = shallowRef({
  age: 0
});
 
</script>

shallowReactive 

只处理对象最外层属性的响应式(浅响应式) 

  <template>
  <h1>user.a.b {{ user.a.b }}</h1>
 
  <button @click="user.a.b++">点击+</button>
 
</template>
  
<script setup lang="ts">
import { reactive, ref, shallowReactive, shallowRef } from 'vue';
 
let user = shallowReactive({
  age: 0,
  a: {
    b: 0
  }
});
 
</script>

关于Vue3中shallowRef和shallowReactive的使用 可以参考下。

vue3的shallowRef()、shallowReactive()和shallowReadonly()

1.shallowReactive():使用shallowReactive转化的对象只有对象的第一层级有响应式。

2.shallowRef():使用shallowRef转化的基本数据类型和使用ref没有差别,使用shallowRef转化的对象都会失去响应式。

3.shallowReadonly():使用shallowReadonly转化的对象,只会在对象第一层级才有只读,除此之外都还具有响应式。

3.运用场景

如果有数据是别的组件传过来的,并且要求该数据不可修改,可以使用readOnly来转化该数据,防止你改动了数据而影响别的组件。

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue3中的shallowRef 和shallowReactive对比分析

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

下载Word文档

猜你喜欢

Vue3中的shallowRef 和shallowReactive对比分析

这篇文章主要介绍了Vue3中的shallowRef 和shallowReactive,通过示例代码逐一对他们的使用做的详细介绍,文末补充介绍了vue3的shallowRef()、shallowReactive()和shallowReadonly()的使用,需要的朋友可以参考下
2023-01-05

Rust中的Copy和Clone对比分析

这篇文章主要介绍了Rust中的Copy和Clone及区别对比分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-17

mysql中InnoDB和MyISAM对比的示例分析

这篇文章主要介绍了mysql中InnoDB和MyISAM对比的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、事务:InnoDB 是事务型的,可以使用 Commit
2023-06-14

MongoDB和mysql的区别对比分析

MongoDB 是一个基于分布式文件存储的数据库,而MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统,本文重点给大家介绍MongoDB和mysql的区别,需要的朋友可以参考下
2023-01-31

.py和.ipynb对比的示例分析

小编给大家分享一下.py和.ipynb对比的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. 相同点用Python语言编写的源代码文件,其文件后缀是 “.py” 或 “.ipynb”。用Python语言编写的源代
2023-06-14

vue3中<script setup> 和 setup函数的区别对比

这篇文章主要介绍了vue3中<script setup> 和 setup函数的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-18

对比Golang协程和线程的分析

Golang协程与线程的差异解析在现代编程语言中,多线程并发已经成为一种常见的编程模式,用于提高程序的性能和响应能力。然而,线程的创建和管理往往需要消耗大量的系统资源,同时在编程复杂性和错误处理上也存在一些困难。为了解决这些问题,一种轻量
对比Golang协程和线程的分析
2024-01-24

Python中字典和列表性能的对比分析

本篇文章为大家展示了Python中字典和列表性能的对比分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python列表和字典前面我们了解了 “大O表示法” 以及对不同的算法的评估,下面来讨论下 P
2023-06-15

Go语言中协程和线程的对比分析

Go语言协程(Goroutine)与线程(Thread)是并发编程中常见的两种概念,它们都可以用来处理并发任务,但在实现方式、调度方式、资源消耗等方面有着显著的不同。本文将深入探讨Go语言协程和线程的异同,并通过具体的代码示例来加深理解。
Go语言中协程和线程的对比分析
2024-02-25

MySQL中InnoDB与MyISAM的对比分析

小编给大家分享一下MySQL中InnoDB与MyISAM的对比分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对比InnoDB与MyISAM1、 存储结构MyI
2023-06-27

Go语言中的类方法和对象方法对比分析

对于 go 语言中的类方法和对象方法,它们在定义位置、调用方式、实例化要求、典型用法和可访问性上有所不同。类方法定义在结构类型上,直接使用结构类型名称调用,不需要实例化,用于初始化、验证和提供公用函数。对象方法定义在对象上,必须实例化才能调
Go语言中的类方法和对象方法对比分析
2024-04-03

JAVA反射机制中getClass和class对比分析

java有两个获得类名的方法getClass()和class(),这两个方法看似一样,实则不然。这两个方法涉及到了java中的反射。所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是
2023-05-30

编程热搜

目录