最新要闻
- 天天报道:博主带卷尺吃披萨发现尺寸不够:99元12寸披萨直径少2.5厘米
- 女子称点外卖备注送上楼被骑手教育:四块钱还想让送上楼
- 三亚骂游客导游被吊销导游证罚款5万:网友点赞 低价团慎重参与
- 重庆东站一项目招标条件被指“量身定做”:招标人答疑,公管局正处理投诉
- 环球热门:马龙樊振东会师决赛:国乒包揽大满贯5冠
- 当前热议!俞敏洪谈野生虾事件:犯了错误 就要去改正
- 世界最资讯丨情侣称住41层酒店被“玻璃人”看光引热议:网友支持酒店已提示
- 全球讯息:职工医保报销比例2022_职工医保报销比例
- 全球观点:OpenAI CEO谈GPT4:人类迄今开发的最伟大技术 有点害怕了
- 即时:曹曦月方否认带货3个月成交278元:拿证据说话
- 国内外多名大胃王意外死亡 有人胖到320斤有人开播前突然昏迷:专家科普
- 环球微头条丨男子整形后称没法靠颜值吃饭了:丢了工作
- 《暗黑4》公测性能实测:RTX 4090显卡流畅跑8K
- 世界要闻:李彦宏谈文心一言:市场反馈符合预期 股价波动没必要解释
- 焦点滚动:挺能藏啊!男子电动滑板车藏84个SSD入境被海关查获
- 天天微头条丨卡佩罗:那不勒斯和国米将晋级 迈尼昂和奥纳纳是米兰双雄的关键
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球关注:谈谈 Vue toRef 和 reactive
reactive
reactive
创建一个深层的对象的响应式代理,即对象根属性以及嵌套对象的属性都是响应式的。如果使用 ES6 结构赋值,就会使得这个对象的响应式代理第一层(根属性)属性失去响应式,但其嵌套下的对象属性还是响应式的。
【资料图】
shallowReactive
会创建浅层的对象的响应式代理,只有第一层(根属性)属性有响应式,其嵌套对象的属性不是响应式。
// 解构赋值const { foo, bar } = { ...reactive({ foo: 1, bar: { val: 1 } }) };
foo: {{ foo }}bar val: {{ bar.val }}
如上图所示,foo 只有在 bar.val
响应式更新之后才更新。被解构赋值之后,foo 是根属性,失去了响应式;bar 是嵌套对象,其属性还有响应式。
toRef
toRef
是基于响应式对象上的一个属性,创建一个对应的 ref。这里有非常重要的注意点,“响应式”、“对象”。toRef
操作的是一个响应式数据,且数据类型是对象,而不是一个普通对象,即便控制台不报错,也会失去它的意义。
const obj = { foo: { bar: 1 }};const state = toRef(obj, "foo");function change() { state.value.bar++; console.log(state.value.bar, obj.foo.bar);}
obj: {{ obj.foo.bar }}foo: {{ state.bar }}
如下图所示,页面不发生更新:
但 state
确实是 Ref 类型:
也就是说,toRef
操作的数据不能是普通对象的属性。
toRef 作用是什么?
延续响应式能力
下面是官方文档给出的示例,左看右看、上看下看都没看出个啥特别的。谜语人吧这是?
const state = reactive({ foo: 1, bar: 2})const fooRef = toRef(state, "foo")// 更改该 ref 会更新源属性fooRef.value++console.log(state.foo) // 2// 更改源属性也会更新该 refstate.foo++console.log(fooRef.value) // 3
❓那么 toRef
有什么用呢?前面说到 reactive 被解构赋值之后第一层(根属性)失去了响应式,而 toRef
可以让其继续保持响应式。
toRef
当作 ref
函数创建一个响应式数据不是响应式的,页面不更新,前面图2 中已经说明了。toRef
是延续响应式能力,不是创建响应式数据。
对第一节中的例子进行修改:
// 在 reactive 中包裹了 toRefsconst { foo, bar } = { ...toRefs(reactive({ foo: 1, bar: { val: 1 } })) };
图4 与 图1 进行对比,foo 确确实实是响应式的,页面也发生了变化。不再因为 bar.val
更新而更新。
toRef 与 toRefs 的区别就是多了一个 s,即批量延续 reactive 的响应式能力。
转换 prop 为 Ref 类型
官方文档中有提到关于 prop 与 toRef 结合使用的案例,说非常有用。有些函数需要的参数类型就是 Ref,比如 useRefHistory,就需要传递 Ref 类型的数据:
组件 prop 不是一个 Ref 类型的数据:
console.log(isRef(props.foo)); // => false
因此,用 toRef
转换类型,与原始数据保持同步:
useRefHistory(toRef(props, "foo"));
总结
toRef
是延续响应式,不是创建响应式数据,不能等同于 ref
函数。为何是延续响应式,需要查阅源码方可知晓。本博客只是从表现中得到的结论,没有从原理上进行总结,属于经验之谈。
toRef
只能基于响应式数据进行操作,对普通的对象进行操作得到的数据不是响应式的。
关键词:
优化利器In-Memory开启和效果
全球关注:谈谈 Vue toRef 和 reactive
天天报道:博主带卷尺吃披萨发现尺寸不够:99元12寸披萨直径少2.5厘米
女子称点外卖备注送上楼被骑手教育:四块钱还想让送上楼
三亚骂游客导游被吊销导游证罚款5万:网友点赞 低价团慎重参与
重庆东站一项目招标条件被指“量身定做”:招标人答疑,公管局正处理投诉
mysql 索引(InnoDB)
环球关注:快速带你入门css
世界热门:Git常用命令总结
环球热门:马龙樊振东会师决赛:国乒包揽大满贯5冠
当前热议!俞敏洪谈野生虾事件:犯了错误 就要去改正
世界最资讯丨情侣称住41层酒店被“玻璃人”看光引热议:网友支持酒店已提示
热文:数据安全始终是一个不可忽视的问题
世界最资讯丨数据结构-绪论
全球讯息:职工医保报销比例2022_职工医保报销比例
全球观点:OpenAI CEO谈GPT4:人类迄今开发的最伟大技术 有点害怕了
即时:曹曦月方否认带货3个月成交278元:拿证据说话
希尔排序、快速排序、KMP算法
环球热推荐:008爬虫之短短20行代码下载周杰伦所有歌曲
一次 Hyperf 注解失效问题分析
全球看热讯:Qt+百度AI文字识别OCR小工具
国内外多名大胃王意外死亡 有人胖到320斤有人开播前突然昏迷:专家科普
热点在线丨2023省选16天
著名的Breach黑客论坛管理员被捕
环球微头条丨男子整形后称没法靠颜值吃饭了:丢了工作
《暗黑4》公测性能实测:RTX 4090显卡流畅跑8K
世界短讯!SSL/TLS协议运行机制的概述
最新资讯:重学c#系列—— explicit、implicit与operator[三十四]
世界要闻:李彦宏谈文心一言:市场反馈符合预期 股价波动没必要解释
焦点滚动:挺能藏啊!男子电动滑板车藏84个SSD入境被海关查获
【天天快播报】webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建
CTF show 信息收集篇
Quicker 快速开发,控制脚本关闭(示例,鼠标连点器)
天天微头条丨卡佩罗:那不勒斯和国米将晋级 迈尼昂和奥纳纳是米兰双雄的关键
每日观点:曹姓明星收20万带货3月成交278元 被判退还13.9万:要量力而行
13代酷睿躺赢了 4nm锐龙7000跳票:此前规格被砍2刀
已知球面经纬度求方位角和反方位角(awk一行代码实现)
环球观热点:《流浪地球2》门框机器人科幻十足 设计师详解:还能晾衣服能甩干
东北首条海下/跨海地铁!大连地铁5号线正式运营
世界热讯:Linux学习笔记
报道:插件化架构设计(2):插件化从设计到实践该考量的问题汇总
【天天新要闻】Vins 前端中高效的去畸变的方式解析
动态焦点:暴雪:《暗黑》系列能成功多亏了韩国玩家热情和爱戴
全球观点:朱雀二号遥一运载火箭发射失利:已查明飞行故障 通过归零评审
全球热头条丨《雷霆沙赞2》豆瓣开分6.5:加朵女神加分、剧情被批幼稚低级
【全球独家】万字血书Vue—Vue的核心概念
张兰被曝国外欠债9.8亿,海外家庭信托被追债,拼命带货疑为还债
Ocelot使用与设置路由Routing
环球速递!arthas排查线上问题真是太好用了!
肯德基全家桶被曝吃出生的炸鸡!店家回应是锅出现故障
世界快播:C++ class struct
环球视点!Windows OpenGL ES 图像 GPUImageLookupFilter
世界观速讯丨8万元会成爆款吗?宝骏悦也实车曝光:像吉姆尼、能跑303公里
每日热文:印度男子因新娘高三成绩不好要求退婚 还要退5千彩礼:网友看笑
世界观焦点:CSS学习笔记
热门看点:女生被拍同学勇敢对峙让男子删除 想保护好自己的朋友:网友称赞勇敢
1.5mm!iPhone 15 Pro Max将打破最薄边框纪录:CAD外观渲染图曝光 更帅了
全球微头条丨没有科技与狠活 :依能天然苏打水2.3元发车 无糖无气0卡
03月18日09时福建漳州疫情数据 阳了以后为什么会腰疼?应该怎么办?
当前要闻:为什么文件删除了但磁盘空间没有释放?
微博图床被废,自己动手丰衣足食。
【聚看点】Source Generator初探
4、AOP
天天亮点!汽车降价潮蔓延!成都豪撒1亿购车补贴 汽车流通协会称武汉汽车降价不公平
【天天热闻】俞敏洪称下辈子宁愿当没钱的流浪汉:自己周围的企业家都在没日没夜的干活
比亚迪出海再下一城!乌兹比克斯坦三车齐发:宋PLUS 22万起售
世界聚焦:调查显示民众预期英国央行将继续加息
【全球速看料】差距有多大?一图看懂蔚来、小鹏、理想汽车2022年第四季度财报:老大变了
每日速读!水晶球档杆绝无仅有!韩系豪华电动车捷尼赛思GV60上市:28.58万起
世界速讯:你对Linux窗口管理程序Tmux了解吗
【全球聚看点】还买什么汉兰达!全新大七座SUV福特锐界L开售:22.98万历史新低
【世界速看料】超市6500元招聘引学生排队投简历 负责人:已收到五十多份
世界看点:南宁市2023年事业单位统一考试简章发布 337个岗位共招1764人
【当前独家】读Java性能权威指南(第2版)笔记20_垃圾回收G
何小鹏:王凤英一周工作七天、让大家很卷
何小鹏谈竞争对手降价:油车一定会反击、小鹏将降低25%生产成本
springboot跨域问题解决方案
天天亮点!听闻索尼PS5 Pro主机明年发售后:老玩家们集体不干了
环球通讯!日本女大胃王菅原初代患肠癌病逝:曾10分钟吞399碗荞麦面
全球热点评!美国一核电站承认150万升核污染水泄漏:已隐瞒数月
导演郭帆都看不下去!众筹1亿的《流浪地球2》周边 为啥要偷工减料?
说句话就能做表格、PPT!微软把GPT-4塞进办公套件 我慌了
每日热门:喉结左侧有个硬疙瘩_左侧睾丸里有个小疙瘩是什么
AIGC的下一站是什么?
速读:vue2前端导出带背景色表格 xlsx xlsx-style
环球新资讯:Attention与SelfAttention
五角大楼官员表示:太阳系中可能存在外星母舰探测地球
环球消息!每日机构分析:3月17日
fiddler:The system proxy was changed.Click to reenable capturing
iPhone 15 Pro Max屏幕边框窄爆:将打破小米13纪录
99元 联想YOGA新款M5无线鼠标上架:鹅卵石设计
张裕葡小萄赤霞珠甜红葡萄酒2支到手39.9元:酒香浓郁
世界热讯:手机百度文库的下载券怎么用啊 为什么(百度文库不能用下载券)
网红店半天妖烤鱼被曝垃圾桶捞回食材上桌!合肥市监局:全市门店停业
天天微头条丨赛博2077支持DLSS3 iGame RTX 40显卡实战:性能2倍提升
河南三月飞雪 突降大雪竟与人工增雨有关
中金所就30年期国债期货合约征求意见
世界观速讯丨铭瑄发布旗舰级MGG RTX 4080、4070 Ti:丧心病狂5风扇、9热管
【焦点热闻】AMD份额涨不动了 专家称Intel的麻烦已结束:CPU竞争力更强
每日视点!山东一公司疑设卑劣人员从业跟踪岗:你去哪我就发函到哪