vue3前端开发,自学一下reactive,ref的差异是什么。

vue3前端开发,自学,学习一下,reactive和ref的差别。以及基础用法。

前言,这2个东西,都能对外输出动态的数据对象。但是,有点区别,是,reactive只支持输入一个对象作为参数,ref则还可以支持简单的数据信息作为参数。待会有案例代码展示。

下面看看代码内容。第一个先看看reactive的练习代码。

复制代码
<template>

  <h3>入口文件</h3>
  <!-- <Base /> -->
  <!-- <SetupDemo /> -->
  <ReactiveDemo />

</template>

<script setup>
import Base from './components/Base.vue'
import SetupDemo from './components/SetupDemo.vue'
import ReactiveDemo from './components/ReactiveDemo.vue';
</script>

这个是入口文件,里面调用了一个自定义组件,ReactiveDemo.vue.


复制代码
<script setup>
//reactive基础练习步骤
//1:导入
import { reactive } from 'vue';
//2:调用 -只能支持传入一个传统的对象,作为reactive的参数。
const count = reactive({
    price:10
})
</script>

<template>
    <h3>reactive基础学习</h3>
    <p>草莓单价:{{ count.price }}</p>
</template>

这个ReactiveDemo.vue里面的代码内容。

如图,可以正常获取到,经过reactive包装后的动态对象的内容。因为它是一个对象,所以我们需要使用"."的形式,把里面的数据调用出来。


下面展示的是ref,接收对象形式的参数内容。案例代码。


复制代码
<script setup>
//reactive基础练习步骤
//1:导入
// import { reactive } from 'vue';
//2:调用 -只能支持传入一个传统的对象,作为reactive的参数。
// const count = reactive({
//     price:10
// })

/**
 * ref ,既可以支持对象作参数,又支持简单的数据内容作参数
 */
//1:导入
import { ref } from 'vue';
//2:调用
const count = ref({
    price:99
})
</script>

<template>
    <h3>reactive基础学习</h3>
    <p>草莓单价:{{ count.price }}</p>
</template>

如图,是可以正常获取到草莓的单价为99元。

这个效果,可以使用reactice一样的。

下面展示一下,ref接收一个简单的数据类型的案例效果。以及,如果你想在脚本区域内修改它的数据,需要借助于(*.value)才能修改。


复制代码
<script setup>
//reactive基础练习步骤
//1:导入
// import { reactive } from 'vue';
//2:调用 -只能支持传入一个传统的对象,作为reactive的参数。
// const count = reactive({
//     price:10
// })

/**
 * ref ,既可以支持对象作参数,又支持简单的数据内容作参数
 */
//1:导入
import { ref } from 'vue'
//2:调用
// const count = ref({
//     price:99
// })
//3:ref接收 简单的数据类型。
const count = ref(66)

</script>

<template>
    <h3>reactive基础学习</h3>
    <p>草莓单价:{{ count }}</p>
</template>

这个代码显示的是,我们仅仅是调用了。并未去修改它。所以,直接使用count就能调取成功了。

如图,草莓单价是66元。正常显示了。

如果想更改这个单价,就得借助于,.value了。


复制代码
<script setup>
//reactive基础练习步骤
//1:导入
// import { reactive } from 'vue';
//2:调用 -只能支持传入一个传统的对象,作为reactive的参数。
// const count = reactive({
//     price:10
// })

/**
 * ref ,既可以支持对象作参数,又支持简单的数据内容作参数
 */
//1:导入
import { ref } from 'vue'
//2:调用
// const count = ref({
//     price:99
// })
//3:ref接收 简单的数据类型。
const count = ref(66)
const btnHandle = ()=>{
    count.value++
}
</script>

<template>
    <h3>reactive基础学习</h3>
    <p>草莓单价:{{ count }}</p>
    <button @click="btnHandle">单价+1</button>
</template>

如图,价格确实可以靠点击增加了。

相关推荐
东风破_1 小时前
TypeScript 高级类型进阶:keyof、Exclude、Record 与类型组合思想
前端·后端·typescript
DS随心转插件2 小时前
Grok生成的html怎么导出——AI导出鸭:大模型结构化输出的“最后一公里”工程化解构
前端·人工智能·ai·html·豆包·deepseek·ai导出鸭
এ慕ོ冬℘゜2 小时前
使用 jQuery 动态渲染表格与状态切换
前端·javascript·jquery
人间凡尔赛2 小时前
2026 前端必修:4 个让 CSS 脱胎换骨的现代新特性(附实战代码)
前端·css
用户2181697049303 小时前
Flutter (二十) 轮播图
前端
前端snow3 小时前
ai agent - RAG 汇总
前端
智购科技自动售货机厂家3 小时前
2026自动售货机AI视觉识别优化:从YOLOv11n模型量化到RKNN部署的端侧推理工程实践~YH
javascript·人工智能·yolo·机器学习·计算机视觉·目标跟踪·perl
计算机魔术师3 小时前
AI为拿高分不惜入侵网站:22个模型作弊审计,真相让人背脊发凉
前端
晓说前端3 小时前
TypeScript 核心语法应用 —— Vue 3 中的使用(下)
前端·javascript·typescript·类型系统
zhangminghuan4 小时前
微信小程序开发核心知识点全景解析(前端必备硬核基础)
前端·微信小程序·小程序