欢迎光临
我们一直在努力

Vue3 变量声明完全指南:从入门到最佳实践

Vue3 作为目前前端主流的框架之一,其 Composition API 带来了更灵活、更高效的代码组织方式,而变量声明是 Composition API 最基础也最核心的部分。很多开发者从 Vue2 迁移到 Vue3 时,容易在 ref、reactive、toRefs 等 API 的使用上踩坑(比如忘记 .value、混淆响应式类型)。本文将从基础到进阶,全面讲解 Vue3 变量声明的正确姿势、使用场景和最佳实践。

一、Vue3 变量声明的核心:响应式原理

Vue3 抛弃了 Vue2 的 Object.defineProperty,改用 Proxy 代理 实现响应式,这也是变量声明 API 设计的底层逻辑:

  • 响应式变量:数据变化时,视图自动更新;
  • 非响应式变量:数据变化,视图无感知。

Vue3 提供了两类核心 API 用于声明响应式变量:ref 和 reactive,这是我们日常开发中最常用的两个工具。

二、基础用法:ref 和 reactive

1. ref:声明简单类型响应式变量

ref 是 Vue3 中最基础的响应式 API,专门用于声明简单类型(数字、字符串、布尔值)或单个复杂类型(对象 / 数组)的响应式变量。

基本语法

<script setup>
import { ref } from \’vue\’

// 声明简单类型
const count = ref(0) // 数字
const message = ref(\’Hello Vue3\’) // 字符串
const isShow = ref(true) // 布尔值

// 声明复杂类型(也可以,但推荐用 reactive)
const user = ref({ name: \’张三\’, age: 20 })

// 修改值:必须通过 .value 访问(脚本内)
const handleClick = () => {
count.value += 1
message.value = \’响应式更新\’
user.value.age = 21 // 复杂类型内部属性可直接改
}
</script>

<template>
<!– 模板中无需 .value,Vue 自动解包 –>
<div>{

{ count }}</div>
<div>{

{ message }}</div>
<div>{

{ user.name }}</div>
<button @click=\”handleClick\”>点击修改</button>
</template>

核心特点
  • 脚本内访问 / 修改必须加 .value,模板中自动解包(无需 .value);
  • 底层通过「包装对象」实现响应式(
赞(0)
未经允许不得转载:171主机测评 » Vue3 变量声明完全指南:从入门到最佳实践
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址