【vue】创建响应式数据ref和reactive的区别

目录

1、所谓响应式数据

2、ref创建基本类型响应式数据

3、reactive创建对象类型响应式数据

4、ref定义对象类型响应式数据

5、总结:ref和reactive对比

6、补充:toRefs与toRef


1、所谓响应式数据

所谓响应式数据就是,在vue页面中,template标签内的数据是渲染在页面的数据,一般需要和script标签内的数据进行绑定,也就是说在script标签内会进行一些逻辑计算改变一些数据的值。那么如果不使用响应式数据,script标签内更改了数据的值,template渲染在页面的值是不会发生改变的。

2、ref创建基本类型响应式数据

注意这里是基本类型


看看数据的内容发生了什么变化:



3、reactive创建对象类型响应式数据


输出对象到控制台:


4、ref定义对象类型响应式数据

展现数据不变:



ref底层创建响应式数据时,底层还是使用reactive来创建的


5、总结:ref和reactive对比

1 )插件自动补充 . value

2 reactive重新分配对象,会失去响应式

给变量car重写分配一个对象:

解决办法:

修改后:

总结:

3 )如果是 ref 定义的响应式对象,要重写赋值对象的内容

使用建议:


6、补充:toRefs与toRef


如何变成响应式的解构:

结果:

对于toRefs取多个(对象),toRef是取单个

效果

相关推荐
不法8 分钟前
uniapp map地图导航/地图路线
前端·vue.js·uni-app
mONESY13 分钟前
基于MCP协议搭建全链路智能Agent:地图检索+浏览器自动化+本地文件操控实战
javascript
星栈25 分钟前
LiveView 页面越写越卡,我最后抓到的凶手不是数据库,是我自己乱塞 `assigns`
前端·前端框架·elixir
研☆香1 小时前
闭包实战避坑指南
javascript
没落英雄1 小时前
6. 从零搭建一个 AI Agent —— 构建 Web 前端,让用户能和 agent 实时交互
前端·人工智能·架构
爱勇宝1 小时前
《道德经》第4章,老子写得很像在描述一个“底层系统”。
前端·后端·程序员
你怎么知道我是队长1 小时前
JavaScript 的控制语句介绍
开发语言·javascript·ecmascript
snow@li2 小时前
Java:Java 服务器(Web 容器 / Servlet 容器)完整工作清单
java·服务器·前端
用户44014549314192 小时前
Spring Boot 3.x 异步编程实战:从 @Async 到虚拟线程
javascript