vue3-02声明响应式状态ref()
创始人
2024-12-01 01:04:08
0

一、使用

组合式 API 中,推荐使用 ref() 函数来声明响应式状态,例如

import { ref } from 'vue' const count = ref(0) 

注意点1:若想获取ref定义的参数,必须获取参数的value值,
比如:

console.log('count', count) // 打印的是{ value: 0 } console.log('count.value', count.value) // 打印的是0 

注意点2:注意,在模板中使用 ref 时,我们不需要附加 .value,
当在模板中使用时,ref 会自动解包 (有一些注意事项),可以直接在事件监听器中改变一个 ref,例如

  

1、ref 自动解包 (注意事项)

在模板渲染上下文中,只有顶级的 ref 属性才会被解包。
在下面的例子中,count 和 object 是顶级属性,但 object.id 不是:

const count = ref(0) const object = { id: ref(1) } 

因此,

{{ count + 1 }} // 预期工作-得到的结果是1 {{ object.id + 1 }} // 不会预期工作 -- 得到的结果是[object Object]1 

因为在计算表达式时 object.id 没有被解包,仍然是一个 ref 对象。为了解决这个问题,我们可以将 id 解构为一个顶级属性

const { id } = object {{ id + 1 }}// 预期工作,结果是2 

另一个需要注意的点是,如果 ref 是文本插值的最终计算值 (即 {{ }} 标签),那么它将被解包,因此以下内容将渲染为 1

{{ object.id }} // 该特性仅仅是文本插值的一个便利特性,等价于 {{ object.id.value }}。 

2、深层响应性

Ref 可以持有任何类型的值,包括深层嵌套的对象、数组或者 JavaScript 内置的数据结构,比如 Map。

Ref 会使它的值具有深层响应性。这意味着即使改变嵌套对象或数组时,变化也会被检测到:

import { ref } from 'vue'  const obj = ref({   nested: { count: 0 },   arr: ['foo', 'bar'] })  function mutateDeeply() {   // 以下都会按照期望工作   obj.value.nested.count++   obj.value.arr.push('baz') } 

非原始值将通过 reactive() 转换为响应式代理,

3、练习所有代码

    

相关内容

热门资讯

微信开牛牛房卡在哪里/微信里面... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
一分钟了解“玩链接牛牛金花房卡... 九尾大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
安卓系统用什么软件清理,五大必... 手机用久了是不是感觉越来越慢了?别急,今天就来给你支个招,让你的安卓手机焕发新生!那就是——清理软件...
怎样购买金花链接房卡/炸金花房... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
哪里购买斗牛牛链接房卡/斗牛房... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
牛牛链接房卡在哪里弄/微信链接... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
牛牛房卡卖家联系方式/微信斗牛... 微信斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...
安卓系统一千块平板,轻松满足日... 你有没有想过,一千块钱就能买到一台平板电脑?是的,你没听错,就是那种可以随时随地陪你刷剧、办公、学习...
微信怎么创建金花房间/牛牛链接... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
创建金花房间链接教程/微信链接... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
微信链接斗牛房卡开科技/微信金... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
房卡必备教程“在哪里买炸金花房... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
金花房卡购买流程详解/购买金花... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
微信斗牛牛小程序叫什么/炸金花... 微信斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...
金花房卡链接怎么购买/金花房卡... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
微信牛牛链接怎么制作/可以开房... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
金花房卡从哪里购买/上下分金花... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
炸金花链接如何开房卡/微信拼三... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
终于找到“微信牛牛金花链接版房... 超圣大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
一分钟了解“微信上的斗牛怎么创... 炫酷大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...