400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Vue如何创建响应式数据对象

这篇文章主要介绍了Vue如何创建响应式数据对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue如何创建响应式数据对象文章都会有所收获,下面我们一起来看看吧。

兴业ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

一、reactive

reactive方法根据传入的对象,创建返回一个深度响应式对象(Proxy代理对象)。

reactive 会对传入对象进行包裹,创建一个该对象的
Proxy代理对象。它是源对象的响应式副本,不等于原始对象。它==“深层”==转换了源对象的所有嵌套property(属性)
,解包并维持其中的任何ref引用关系。

响应式对象属性值改动,不管层级有多深,都会触发响应式。新增和删除属性也会触发响应式。

二、ref

ref 函数用来将一项数据包装成一个响应式 ref 对象。它接收任意数据类型的参数,作为这个 ref 对象 内部的 value property 的值。

三、reactive对比ref

如何选择 ref 和 reactive?建议:

  • 基础类型值(String,Number,Boolean,Symbol) 或单值对象(类似{ count: 1 }这样只有一个属性值的对象) 使用 ref

  • 引用类型值(Object、Array)使用 reactive

四、toRef

语法:const 属性名= toRef(对象,'属性名')

五、toRefs

toRefs 是一种用于破坏响应式对象并将其所有属性转换为 ref 的实用方法

语法:const 属性名= toRefs(对象,'属性名')

注意:reactive封装的响应式对象,不要直接通过解构的方式return,这是不具有响应式的。

可以通过 toRefs 处理,然后再解构返回,这样才具有响应式

const state = reactive({ 
		age: 20,
      	name: 'zhangsan'});
return {...state}; // 错误的方式,会丢失响应式
return toRefs(state); // 正确的方式
//最佳方式
return ...toRefs(state)//将对象的各个属性的ref解构到对象根下面。

六、一些问题

为什么有了reactive函数还需要ref函数呢?

当我们只想让某个变量实现响应式的时候,采用reactive就会比较麻烦,因此vue3提供了ref方法进行简单值的监听,但并不是说ref只能传入简单值,他的底层是reactive,所以reactive有的,它都有。

记住:ref本质也是reactive,ref(obj)等价于reactive({value: obj})

关于“Vue如何创建响应式数据对象”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Vue如何创建响应式数据对象”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


文章名称:Vue如何创建响应式数据对象
网站链接:http://www.bluegullmedia.com/article/ggsiie.html

其他资讯

让你的专属顾问为你服务

0.0511s