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)

相关推荐
To_OC2 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
To_OC2 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
vipbic2 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy2 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志3 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble4 小时前
c端系统,其实更像一个信息展示平台
前端
你怎么知道我是队长4 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
李姆斯5 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜5 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能