vue-ref与reactive

ref

  • ref所创建的对象本身不具有响应性,而是将内部值包装在特殊对象中,通过.value访问响应对象。在模板中使用ref时,不需要加.value,会自动解包。
  • ref可以为对象和非对象的普通变量增加响应性。(如果是对象用proxy包装再交给_value属性,如果是非对象的普通变量直接交给_value属性,通过get和set进行依赖收集发布更新。如果是 shallow ref直接赋值给_value.)
  • ref传递给函数,同时保留对最新值和响应式的连接和访问。
  • ref可以持有任何类型的值,包括深层的对象、数组或者JS内置的数据结构,ref会使它的值有深层响应性。非原始值将通过 reactive() 转换为响应式代理。(可以通过shallow ref来放弃深层响应,浅层ref可以用于避免对大型数据的响应性开销来优化性能)

reactive

  • 与将内部值包装在特殊对象中的 ref 不同,reactive() 将使对象本身具有响应性。
  • reactive将对象包装成一个proxy对象直接返回。
  • reactive只可以为对象增加响应性
  • 不能直接赋值,直接复制会将proxy对象变为普通对象而失去响应式。reactive() 将深层地转换对象:当访问嵌套对象时,它们也会被 reactive() 包装。当 ref 的值是一个对象时,ref() 也会在内部调用它。与浅层 ref 类似,这里也有一个 shallowReactive() API 可以选择退出深层响应性。
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值