写点什么

Vue3 中常用的 Composition(组合)API-set 的两个注意点

作者:不觉心动
  • 2023-06-25
    北京
  • 本文字数:549 字

    阅读完需:约 2 分钟

set 的两个注意点

执行的时机

setup 执行的时机是非常早的,它甚至比 beforeCreate 还要早,并且 this 是 undefined 而不是实例对象



setup 接收到的参数

通过测试得知,setup 可以接受到两个参数


参数 1:props:用于组件传递数据

我们可以通过组件传递数据测试:



这时候出现了警告:


意思是给组件传递了数据但是缺没有接收数据,这个警告在 vue2 中是没有的



想用的话需要声明接收,这时候再看警告就没了,并且 props 里面接收到了参数


如果接收一个不存在的数据,也不会报错,只是会呈现 undefined



参数 2:context


说完了第一个参数,再说说第二个参数,在官方文档里面叫做 context(上下文)


它里面主要有三个属性需要我们注意



1:attrs: 值为对象,包含:组件外部传递过来,但没有在 props 配置中声明的属性, 相当于 this.$attrs


2:slots: 收到的插槽内容, 相当于 this.$slots


3:emit: 分发自定义事件的函数, 相当于 this.$emit

set 的两个注意点总结

  • setup 执行的时机

  • 在 beforeCreate 之前执行一次,this 是 undefined。

  • setup 的参数

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

  • context:上下文对象

  • attrs: 值为对象,包含:组件外部传递过来,但没有在 props 配置中声明的属性, 相当于 this.$attrs

  • slots: 收到的插槽内容, 相当于 this.$slots

  • emit: 分发自定义事件的函数, 相当于 this.$emit

发布于: 刚刚阅读数: 3
用户头像

不觉心动

关注

还未添加个人签名 2019-05-27 加入

还未添加个人简介

评论

发布
暂无评论
Vue3中常用的Composition(组合)API-set的两个注意点_6 月优质更文活动_不觉心动_InfoQ写作社区