两者都在 Composition API 中创建响应式状态,但它们的工作方式不同。ref 将任何值(包括原始类型)包装在响应式容器中;reactive 直接使对象深度响应式。
ref — 用于任何值,通过 .value 访问
vue
<script setup>
import { ref } from "vue";
const count = ref(0); // wraps a primitive
const user = ref({ name: "Ann" });
function inc() {
count.value++; // ⚠️ in SCRIPT you must use .value
user.value.name = "Bob";
}
</script>
<template>
<p>{{ count }}</p> <!-- ✅ in TEMPLATE, .value is auto-unwrapped -->
</template>
关键特点:在 JavaScript 中,你通过 访问 ref;在模板中,Vue 会自动解包。在脚本中忘记 是最常见的初学者错误。
