本文主要是介绍vue3:ref,reactive,toRef,toRefs,computed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ref
接受一个内部值并返回一个响应式且可变的 ref 对象,在setup函数内部访问ref函数需要加.value, 如果要加类型,要用泛型,不加则会类型推论,也可以不给初始值,则是any,且是undefined
一般来说,ref只会赋值基础数据类型和数组,也可以泛型联合类型 如果将对象分配为ref值,则它将被reactive函数处理为深层的响应式对象
reactive
用来声明响应式的对象,类型通过泛型添加;reactive将会解包所有深层的 refs,同时维持ref的响应性, 将ref分配给reactive的property时,ref也会被自动解包。简单说就是ref的值和reactive的值响应式了
toRef
为源响应式对象上的某个property新创建一个ref,也就是reactive创建的才可以, 会保持对其源 property 的响应式连接
toRefs
将响应式对象转换为普通对象,其中结果对象的每个property都是指向原始对象相应property的ref;toRef和toRefs在对一些响应式对象结构展开会很有用,可以有用的时候看看;
computed
很多人分不清什么时候用computed什么时候用watch,computed主要是用来声明 有两个及以上的依赖的数据,也就是说一个变量是根据多个数据进行判断的,用computed,单个的用watch。至于语法的不同就不多说了,vue3的computed常用语法是一个带有return的函数,也可以同时存在多个;要注意,computed声明的变量(pg)是不能直接去修改的(只读),跟vue2一样也有get、set函数(可读可写)
这篇关于vue3:ref,reactive,toRef,toRefs,computed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!