Vue3学习-day2

组合式API:reactive和ref函数

reactive()

App.vue

复制代码
<script setup>
// reactive: 接收一个对象类型数据,返回一个响应式的对象
// 问题:如果遇到简单类型(不是对象类型)怎么办呢?
import { reactive } from 'vue'
const state = reactive({
  count: 100
})
const setCount = () => {
  state.count++
}
</script>

<template>
  <div>{{ state.count }}</div>
  <button @click="setCount">+1</button>
</template>

ref()

App.vue

复制代码
<script setup>
// 1.reactive: 接收一个对象类型数据,返回一个响应式的对象
//     问题:如果遇到简单类型(不是对象类型)怎么办呢?
// import { reactive } from 'vue'
// const state = reactive({
//   count: 100
// })
// const setCount = () => {
//   state.count++
// }

// 2.ref: 接收简单类型 或 复杂类型(对象类型),返回一个响应式对象
//   本质: 是在原有传入数据的基础上,外层包了一层对象,包成了复杂类型
//   底层: 包成复杂类型之后,再借助 reactive 实现的响应式
//   注意:
//    1. 在script(脚本)中,访问数据,需要通过 .value
//    2. 在template(模板)中,不需要.value(帮我们扒了一层)

//  推荐:以后生命声明数据统一用 ref => 统一编码规范
import { ref } from 'vue'
const count = ref(0)
const setCount = () => {
   count.value++
}
</script>

<template>
  <div>{{ count }}</div>
  <button @click="setCount">+1</button>
</template>

总结

相关推荐
excel3 分钟前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
星星火柴93622 分钟前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头23 分钟前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
阿华的代码王国25 分钟前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼25 分钟前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jimmy28 分钟前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
草梅友仁32 分钟前
草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报
vue.js·github·nuxt.js
ZXT43 分钟前
promise & async await总结
前端
Jerry说前后端44 分钟前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
画个太阳作晴天1 小时前
A12预装app
linux·服务器·前端