Vue 3 响应式状态揭秘:ref() 函数的魔法

大家好,我是宝哥。

今天我们来聊聊Vue 3中的状态管理,让你的应用状态更加灵动。

什么是响应式状态?

响应式状态是一种特殊的状态,当底层数据发生变化时,它能够自动更新用户界面。

为什么我们不能像在普通JavaScript中那样使用可变变量呢?

你可能会问,虽然这些变量的值可以在UI中显示,但对它们的任何更改都不会反映出来。

在Vue 3中声明响应式状态

在Vue 3中,ref()函数就像是个强大的盒子,能够存储各种类型的数据,让它们变得响应式。这个盒子可以存储字符串、数字、布尔值、对象、数组等等。

5417045bff7bf9131bc5af5b1f28796e.png

你可以创建一个空的盒子,或者给它一个初始值,作为默认值。在这个例子中,我们使用0作为初始值。

3cd1d7d1fe96947d2d7c243f238e1817.png

现在,剩下的唯一事情就是为我们刚刚创建的框分配一个标签,我们可以通过定义一个变量来做到这一点。

a0d18938e550ad6fea5e2e913c035b6b.png

🤠 就是这样,您刚刚创建了一个反应变量!

如何使用响应式状态?

现在我们的盒子已经准备好了,那我们怎么再次查看里面的内容呢?

我们使用.value属性来打开盒子,查看里面的内容。

91bdeb0b7c4864545f51d24f544e6ca2.png

注意,只有在使用JavaScript时才需要使用.value。Vue在模板中使用时会自动解包响应式变量。

<script setup>
import { ref } from 'vue'

const count = ref(0)
console.log(count.value) // .value is necessary here
</script>

<template>
  <!-- No need for .value here -->
  <h1>The count is {{ count }}</h1> 
</template>

改变响应式状态

现在我们可以创建响应式状态并访问它,但如何改变它呢?

要改变响应式状态,换句话说,改变盒子里的内容,你可以给.value属性赋一个新的值。

e2fe2fbf366d297251029aad0b66a60d.png

你也可以根据之前的状态来改变状态。

b42777f74aceb7ae59412452a6e633b6.png

结论

正如你看到的,ref()函数非常直观和简单,就像Vue中的其他一切一样。

如果你想更多地了解这个函数,这里有一些来自Vue.js文档的推荐阅读:

  • 响应式基础 - ref()

  • https://vuejs.org/guide/essentials/reactivity-fundamentals.html#ref

  • 响应式核心 - ref()

  • https://vuejs.org/api/reactivity-core.html#ref

最后,打个小广告

如果你想看到更多关于Vue3的内容,请关注我,我会开始写更多关于Vue 3的博客,也可以关注我的微信:caibaojian89。

感谢阅读这篇博客!

如果你有任何问题或疑问,请随时联系我。

推荐链接:


最后,如果你觉得宝哥的分享还算实在,就给我点个赞,关注一波。分享出去,也许你的转发能给别人带来一点启发。

关注我,加星标,明天见!

焕然一新的 Vue 3 中文文档来了,附送50张学习思维图

关注下方宝哥微信,进宝哥副业交流群,

获取我公众号整理的所有资料,

包括前端电子书,面试资料,简历模板和副业资料等!

cea127e7028320de42687321bbb69204.png

以上,如果本文对你有所启发,欢迎点“cc4406ee7f7cd407c99379b1bc3501d0.gif在看、点赞”支持下吧! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值