
二、常用 Composition API
问题:啥叫“组合式API”?
答案:请看官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html
3.reactive函数
- 作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用
ref函数) - 语法:
const 代理对象= reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象) - reactive定义的响应式数据是“深层次的”。
- 内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作。
注意点1:
问题:reactive函数使用基本类型数据会报错
答案:


注意点2:总结:基础类型数据推荐适用ref函数,引用类型数据推荐适用reactive函数
和ref知识点的注意点4有区别,如果想使用reactive函数实现引用数据响应式,使用job
setup(){
let job = reactive({
type:'前端工程师',
salary:'30K'
})
//方法
function changeInfo(){
job.type = 'UI设计师'
job.salary = '60K'
}
如果想使用ref函数实现引用数据响应式,使用job.value
setup(){
let job = ref({
type:'前端工程师',
salary:'30K'
})
//方法
function changeInfo(){
job.value.type = 'UI设计师'
job.value.salary = '60K'
}
注意点3:
当然也可以把基础类型数据和引用类型数据封装成一个代理对象,通过reactive函数关联,使用起来也很方便,缺点是还是写了很多person.xxx重复字符串
<template>
<h1>一个人的信息</h1>
<h2>姓名:{{person.name}}</h2>
<h2>年龄:{{person.age}}</h2>
<h3>工作种类:{{person.job.type}}</h3>
<h3>工作薪水:{{person.job.salary}}</h3>
<h3>爱好:{{person.hobby}}</h3>
<h3>测试的数据c:{{person.job.a.b.c}}</h3>
<button @click="changeInfo">修改人的信息</button>
</template>
<script>
import {reactive} from 'vue'
export default {
name: 'App',
setup(){
//数据
let person = reactive({
name:'张三',
age:18,
job:{
type:'前端工程师',
salary:'30K',
a:{
b:{
c:666
}
}
},
hobby:['抽烟','喝酒','烫头']
})
//方法
function changeInfo(){
person.name = '李四'
person.age = 48
person.job.type = 'UI设计师'
person.job.salary = '60K'
person.job.a.b.c = 999
person.hobby[0] = '学习'
}
//返回一个对象(常用)
return {
person,
changeInfo
}
}
}
</script>
本人其他相关文章链接
1.Vue3快速上手简介
2.vue3第一章基础:创建Vue3.0工程,包括使用vue-cli 创建、使用 vite 创建
3.《vue3第二章》常用组合式 Composition API,包括setup、ref函数、reactive函数、vue3.0中的响应式原理、计算属性与监听属性
4.vue3知识点:setup
5.vue3知识点:ref函数
6.vue3知识点:reactive函数
7.vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式
8.vue3知识点:reactive对比ref
9.vue3知识点:计算属性与监视属性
10.vue3知识点:生命周期
11.vue3知识点:自定义hook函数
12.vue3知识点:toRef函数和toRefs函数
13.《vue3第三章》其它 Composition API(不常用,了解即可),包括shallowReactive 与 shallowRef、readonly 与 shallowReadonly等等
14.vue3知识点:shallowReactive 与 shallowRef
15.vue3知识点:readonly 与 shallowReadonly
16.vue3知识点:toRaw 与 markRaw
17.vue3知识点:customRef
18.vue3知识点:provide 与 inject
19.vue3知识点:响应式数据的判断
20.vue3第四章》Composition API 的优势,包含Options API 存在的问题、Composition API 的优势
21.《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense
22.《vue3第六章》其他,包含:全局API的转移、其他改变
23.vue3知识点:Teleport组件
24.vue3知识点:Suspense组件
25.vue3使用音频audio标签
26.vue3 脚手架初始化项目生成文件的介绍
27.vue3 开发电子地图功能
28.快速上手Vue3国际化 (i18n)
29.java使用websocket推送消息到页面
本文详细介绍了Vue3中的Composition API,特别是`reactive`函数的使用。`reactive`用于创建深层次响应式的数据对象,适合处理复杂的数据结构。文章强调了基础类型数据应使用`ref`,而引用类型数据推荐使用`reactive`。通过示例代码展示了如何修改深层属性,并提到了`setup`函数中结合`ref`和`reactive`的实践方式。
2184

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



