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)

相关推荐
ZC跨境爬虫8 小时前
跟着 MDN 学 HTML day_36:(深入理解 Comment 接口与 DOM 注释节点)
前端·javascript·ui·html·音视频·视频编解码
石小石Orz9 小时前
Harness Engineering 到底是什么?概念、实战与争议,一次全部讲清楚
前端·后端
悠哉摸鱼大王9 小时前
cesium学习(三)-3d tiles
前端·cesium
前端那点事9 小时前
Vue3自定义Hooks保姆级教程!从原理到企业级实战,告别混乱代码
前端·vue.js
前端那点事9 小时前
别再乱用Vue3响应式!ref、reactive、toRef、toRefs完整区别+企业级落地实战
前端·vue.js
yingyima9 小时前
Base64 编码解码实战:业务场景下的高效应用
前端
閞杺哋笨小孩9 小时前
从脚手架到构建注入:Vue 多租户「入驻」工程实践
vue.js·vite
悠哉摸鱼大王9 小时前
cesium学习(五)-Primitive
前端·cesium
悟空瞎说9 小时前
Git Worktree 实战:多 AI 编码代理并行开发,彻底解决分支切换冲突痛点
前端·git
悠哉摸鱼大王9 小时前
cesium学习(四)-相机
前端·cesium