一、Reactive API
如果想为在setup中定义的数据提供响应式的特性,那么我们可以使用reactive的函数:

那么这是什么原因呢?为什么就可以变成响应式的呢?
- 这是因为当我们使用reactive函数处理我们的数据之后,数据再次被使用时就会进行依赖收集;
- 当数据发生改变时,所有收集到的依赖都是进行对应的响应式操作(比如更新界面);
- 事实上,我们编写的data选项,也是在内部交给了reactive函数将其编程响应式对象的;
二、Ref API
reactive API对传入的类型是有限制的,它要求我们必须传入的是一个对象或者数组类型:
- 如果我们传入一个基本数据类型(String、Number、Boolean)会报一个警告;
![]()
这个时候Vue3给我们提供了另外一个API:ref API
- ref 会返回一个可变的响应式对象,该对象作为一个 响应式的引用 维护着它内部的值,这就是ref名称的来源;
- 它内部的值是在ref的 value 属性中被维护的;
![]()
这里有两个注意事项:
- 在模板中引入ref的值时,Vue会自动帮助我们进行解包操作,所以我们并不需要在模板中通过 ref.value 的方法来使用;
- 但是在 setup 函数内部,它依然是一个 ref引用, 所以对其进行操作时,我们依然需要使用 ref.value的方式;
<template>
<div>
<!-- 当我们在template模板中使用ref对象, 它会自动进行解包 -->
<h2>当前计数: {
本文详细介绍了Vue3的Composition API,包括Reactive API的工作原理、Ref API的使用、Ref的自动解包机制、readonly的用法及其应用场景。还探讨了isReactive、toRefs等辅助函数的用途,以及customRef的案例,展示了如何实现响应式系统的自定义控制。
最低0.47元/天 解锁文章
1007

被折叠的 条评论
为什么被折叠?



