ref - Vue3 composition(组合式)API

Vue3组合式API中的ref函数详解

ref的意思是引用,reference。

用来定义常用的基础类型(String,Number,Boolean等等)

ref() 创建的响应式数据后会返一个响应式的对象。

属性的值需要用 .value 才能访问到value返回的是Proxy

ref - Vue3 composition(组合式)API

将值封装在一个对象中,看似没有必要,但为了保持 JavaScript 中不同数据类型的行为统一,这是必须的。这是因为在 JavaScript 中,Number 或 String 等基本类型是通过值而非引用传递的

使用

接受一个内部值并返回一个响应式且可变的 ref 对象,在setup函数内部访问ref函数需要加.value, 如果要加类型,要用泛型,不加则会类型推论,也可以不给初始值,则是any,且是undefined:

const ref1 = ref(1);
const ref2 = ref<number>(2);
const ref3 = ref1.value;//不是响应式,相当于变量
const ref4 = ref();//refs.value是undefined
ref2.value = 5;//赋值 读取都要.value

一般来说,ref只会赋值基础数据类型和数组,也可以泛型联合类型 如果将对象分配为ref值,则它将被reactive函数处理为深层的响应式对象:

//不建议,内部也是reactive处理
const ref1 = ref({
  a: 10,
});

//不确定类型
const ref3 = ref<string | number>();
ref3.value = 1;
ref3.value = "";

//数组对象,ts类型声明,用泛型
type Obj1 = { c: string };
type Obj2 = {
  b: string;
  c: Obj1[];
};
const ref2 = ref<Obj2[]>([
  {
    b: "",
    c: [{ c: "" }],
  },
]);

参考文章

VUE模块

Vue3 composition(组合式)API详解

2022-9-1 17:09:57

VUE模块

setup 单文件组件的语法糖 - Vue3 composition(组合式)API

2022-9-1 20:34:17

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索