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>

总结

相关推荐
LinXunFeng4 分钟前
Flutter - Melos Pub workspaces 实践
前端·flutter·架构
艾小码7 分钟前
前端人必看!3个技巧让你彻底搞懂JS条件判断与循环
前端·javascript
JJjiangfz1 小时前
杭电 神经网络与深度学习 学习笔记
深度学习·神经网络·学习
灵感__idea8 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
向葭奔赴♡8 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo8 小时前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel8 小时前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld8 小时前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel9 小时前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁花与尘埃9 小时前
HTML5简介与基本骨架(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
笔记·学习·html5