vue3中的 toRef 和toRefs

之前我们的案例中

修改person对象  而且setup return 一个 person 会发现模板中都需要重复写person

 

 

然后如果你直接在return上进行数据的处理,就会发现数据都丢失了响应式

 其实很简单,就是这边的person.name就是一个基本类型数据了,当它被赋值到另一个数据上,那个数据发生改变也会对源数据发生更改

 

 

这时我们就要用到toRef了 就是要把一个不是ref的东西变成ref的东西

给不是ref对象使用会生成一个对应的ref对象

 

所以我们可以这样写

 

 

这边要注意如果再次使用ref就相当于在自己创建了一个ref对象,进行响应式,也就是person源数据不会跟着响应 

 然后你会发现一个问题如果使用ref 如果想把对象里面的所有属性进行给进行响应,就会写很多代码

 

解决:使用refs只需要一个参数

即会把对应的引用对象里面的属性,都会变成一个个的ref对象,就是实现了数据的响应

 

 

此时我们联合扩展运算符

由于我们知道torefs返回的是一个对象里面有许多个ref对象(只有对象中第一层的属性),所以我们只需要...把它展开

 注意的是

这样写在模板中可以直接写的是对象中的第一层数据

而之后的数,还是需要.的方式进行读取,不能直接写

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值