vue3:ref,reactive,toRef,toRefs,computed

发布时间:2024年01月19日

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函数(可读可写)

文章来源:https://blog.csdn.net/xkdlzy/article/details/133842805
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。