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>

总结

相关推荐
不会写DN8 分钟前
存储管理在开发中有哪些应用?
前端·后端
清风细雨_林木木18 分钟前
Obsidian 笔试环境配置与使用指南
前端
用户47949283569151 小时前
Vite8来啦,告别 esbuild + Rollup,Vite 8 统一用 Rolldown 了
前端·javascript·vite
枫,为落叶1 小时前
VueRouter前端路由
前端
踢球的打工仔1 小时前
前端知识介绍
前端
草字1 小时前
uniapp 悬浮按钮支持可拖拽。可移动。
前端·javascript·uni-app
一位搞嵌入式的 genius2 小时前
Vue实例挂载:从原理到项目实践的全维度解析
前端·javascript·vue.js·前端框架
cindershade2 小时前
Vue 3 Keep-Alive 深度实践:从原理到最佳实践
vue.js·vue-router
waeng_luo2 小时前
[鸿蒙2025领航者闯关] 表单验证与用户输入处理最佳实践
开发语言·前端·鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结