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)

相关推荐
anOnion8 小时前
构建无障碍组件之Menu Button pattern
前端·html·交互设计
用户47949283569158 小时前
claude Fable用不了?把Gpt 5.5pro接到你的claude code里
前端·后端
JieE2128 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab10 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
zhangxingchao11 小时前
Kotlin常用的Flow 操作符整理
前端
IT_陈寒12 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic13 小时前
SwiftUI 手势笔记
前端·后端
橙子家14 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user205855615181314 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州14 小时前
CSS aspect-ratio 属性完全指南
前端