接收数据类型不同
ref 用来处理基本类型数据,如:字符串、数值、布尔值等reactive 用来处理对象(Object) 和 数组(Array)
示例代码:
// 基础类型使用ref
const name = ref('张三')
// 对象或数组使用reactive
const user = reactive({
name: '李四',
age: 20
})
原理不同
ref 用来包装基本类型数据,内部通过对象存储值并返回代理对象reactive 通过 Proxy 实现对对象属性的响应式追踪
使用方式不同
ref定义的数据,在模板中要加 .value 后缀取值reactive定义的数据,直接取值使用
示例代码:
<template>
<div>{{ name.value }}</div>
<div>{{ user.name }}</div>
</template>
js
i
mport { ref, reactive } from 'vue'
export default {
setup() {
const name = ref('张三')
const user = reactive({ name: '李四' })
return {
name,
user
}
}
}
传递方式不同
ref 定义的数据,在模板中使用要用 .value 取值,但在 <script> 中可以直接用不加 .valuereactive 定义的数据,在任何地方都直接取值使用
总结:
ref 处理基础类型数据,reactive 处理对象或数组
ref 通过对象存储值返回代理,reactive 通过 Proxy 实现响应式
ref 在模板中需要加 .value 后缀取值,reactive 直接取值使用网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?