vue3,ref和reactive声明变量有什么区别,分别怎么用

vue/vue3,ref和reactive声明变量有什么区别,分别怎么用

适用的变量类型不同

  1. 对于原始类型,即非对象类型,只能用ref
  2. 对于对象类型,既可以用ref,也可以用reactive

在js中获取值的方式不同

  1. 在js中,获取ref声明的变量值,需要通过 .value 获取
  2. 获取react声明的变量值,直接获取即可

侦听深度不同

  1. 如果侦听ref声明的对象类型变量,当变量的属性发生变化时,不触发侦听,需要设置深度侦听{deep:true}
  2. 如果侦听reactive声明的变量,当变量的属性发生变化时,触发侦听,无需设置深度侦听

响应性区别

  1. ref声明的对象类型变量,可以通过 .value直接用新的对象赋值,改变变量的值,变量响应性存在
  2. 给reactive包裹的对象类型变量重新赋值,变量响应性消失,该方法不可取。
  3. reactive包裹的对象可以通过Vue.set()方法来重新赋值
  4. reactive包裹的对象给其属性赋值,是不会影响响应性的
相关推荐
kylezhao2019几秒前
第三节、C# 上位机面向对象编程详解(工控硬件封装实战版)
开发语言·前端·c#
行思理1 分钟前
css 样式新手教程
前端·css·html5
帅帅在睡觉24 分钟前
组件的创建与挂载
javascript·vue.js·elementui
幽络源小助理26 分钟前
基于SpringBoot+Vue的实验室管理系统源码 | 教育类JavaWeb项目免费下载 – 幽络源
vue.js·spring boot·后端
qq_4061761429 分钟前
JavaScript闭包:从底层原理到实战
开发语言·前端·javascript
冰暮流星30 分钟前
javascript之Math对象——绝对值,开次方,四舍五入
前端·javascript
啊啊啊啊懒32 分钟前
vite创建完项目之后vue文件中有标签报错
前端·javascript·vue.js
Knight_AL32 分钟前
从 bootstrap.yml 到 Config Data 的一次架构升级
前端·架构·bootstrap
共享家952740 分钟前
测试常用函数(下)
java·服务器·前端
问道飞鱼1 小时前
【Rust开发知识】Actix-web 开发环境搭建完整教程
开发语言·前端·rust·actix-web