Vue3 Composotion API(二)

一、setup的两个注意点

·setup执行的时机: 在beforeCreate之前执行一次,this是undefined

·setup的参数

props: 值为对象,包含: 组件外部传递过来,且组件内部声明接收了的属性

context: 上下文对象 包含: 1、attrs:值为对象,包含组件外部传递过来,但没有在props配置中声明的属性,相当于this.attrs; 2、slots: 收到的插槽内容,相当于this.slots; 3、emit: 分发自定义事件的函数, 相当于this.$emit.

二、计算属性与监视

7.1、computed函数

·与Vue2.x中的computed配置功能一致

·写法

7.2、watch函数

·与Vue2.x中的watch配置功能一致

·两个小坑:

a,监视reactive定义的响应式数据时: oldVlaue无法正确获取,强制开启了深度监视(deep配置失效)

b,监视reactive定义的响应式数据中某个属性(对象类型)时: deep配置有效

7.3、watchEffect函数

·watch的原理: 既要指明监听的属性, 也要指明监听的回调

·watchEffect的原理: 不用指明监听的哪个属性,监视的回调中用到的哪个属性, 那就监听哪个属性

·watchEffect特点(类似于computed)

a,但computed注重计算出来的值(回调函数的返回值),所以必须要写返回值

b,而watchEffect更注重的是过程(回调函数的函数体), 所以不用写返回值

三、生命周期

8.1、Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但是两个被更名

·beforeDestroy改名为beforeUnmount

·destroyed改名为unmounted

8.2、Vue3.0也提供了Composition API形式的生命周期钩子,与Vue2.x中钩子对应关系如下:

·beforeCreat => setup()

·created => setup()

·beforeMount => onBeforeMount

·mounted => onMounted

·boforeUpdate => onBeforeUpdate

·updated => onUpdated

·beforeUnmount => onBeforeUnmount

·unmounted => onUnmounted

四、自定义hook函数

定义: 本质是一个函数,把setup函数中使用的Componsition API进行了封装

·类似于vue2.x中的mixin

·自定义hook的优势 : 复用代码,让setup中的逻辑更清楚易懂

五、toRef和toRefs

·作用: 创建一个ref对象,其value值指向另一个对象中的某个 属性

·语法: const name = toRef(person, 'name')

·应用: 要将响应式对象中的某个属性单独提供给外部使用时

·扩展: toRefs与toRef功能一致, 但可以批量创建多个ref对象,语法: toRefs(person)

相关推荐
moMo10 小时前
JavaScript 变量提升,执行上下文里的各种门道
javascript·面试
weixin_4713830310 小时前
由浅入深递归练习
前端·javascript·vue.js
tedcloud12310 小时前
ai-engineering-from-scratch部署教程:从零搭建AI应用环境
服务器·前端·人工智能·系统架构·edge
Kurisu57511 小时前
全面战争:战锤3修改器下载2026最新
前端
丷丩11 小时前
MapLibre GL JS第21课:绘制GeoJSON点图标、注记
前端·javascript·gis·mapbox·maplibre gl js
LCG元11 小时前
现代Web应用高可用架构设计与性能调优实战
前端·wpf
丷丩11 小时前
MapLibre GL JS第20课:更新GeoJSON多边形
前端·javascript·gis·mapbox·maplibre gl js
swipe11 小时前
DeepAgents middleware 工程实战:把复杂 Agent 的运行时基建交给可组合中间件
前端·面试·llm
丷丩11 小时前
MapLibre GL JS第33课:渲染世界副本
javascript·gis·map·mapbox·maplibre gl js
前端环境观察室11 小时前
别让 Agent 浏览器任务无限重试:失败分类、RetryPolicy 与人工复核
前端