toRaf和ref的区别(vue3)

Posted pategood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了toRaf和ref的区别(vue3)相关的知识,希望对你有一定的参考价值。

先来说说ref吧

ref创建时,需要给它一个指定的值类型数据,这个值类型数据可以是具体某个值类型也可以是某对象属性里面的值类型

例如:

let obj ={name: \'znq\'}
let state =ref(obj.name)

修改ref的数据需要通过.value的形式来修改
例如:

state.value=\'李小龙\'

本质上ref函数是将某一对象的属性变成响应式数据,但对象的属性还是原来那样,所以我们通过 state.value修改数据,但对象obj.name的值还是\'znq\',所以我们可以说ref是通过复制来使用值类型的

现在来说说toRef吧

toRef大体上跟ref一样,不同的是通过toRef将某一对象的属性变成响应式数据,接着通过.value修改响应式数据,原数据obj内的属性也会跟着发生改变, 是不是有点像引用类型的数据啊(●ˇ∀ˇ●)

还有个最大的区别是 通过toRef创建的数据被修改后并不会触发ui视图的更新

我写的都是重点

以上是关于toRaf和ref的区别(vue3)的主要内容,如果未能解决你的问题,请参考以下文章

vue3中ref和reactive的区别

Vue3 ref和reactive的使用和区别以及响应式原理

vue3的ref和reactive以及toRef和toRefs的区别。

[vue3新特性] 12.组合api——13.toRef和toRefs

Vue3全家桶升级指南二reftoReftoRefs的区别

vue3 如何通过 ref 获取 DOM 节点