vue3中setup细节问题总结

一、setup执行的时机问题

  1、setup是在beforeCreate生命周期回调之前就执行了,而且就执行一次

  2、setup在执行的时候,当前的组件还没有创建出来,也就意味着:组件实例对象this根本就不能用

  3、this是undefined,说明,就不能通过this再去调用data/computed/methods/props中的相关内容了

  4、所有的compostion API相关回调函数中也都不可以

二、setup返回值问题

  1、setup中的返回值是一个对象,内部的属性和方法是给html模板使用的。

  2、setup中的对象内部的属性和data函数中的return对象的属性都可以在html模板中使用

  3、setup中的对象中的属性和data函数中的对象中的属性会合并为组件对象的属性

  4、setup中的对象中的方法和methods对象中的方法会合并为组件对象的方法

  5、在vue3中尽量不要混合的使用data和setup及methods和setup,methods中可以访问setup提供的属性和方法,但setup方法中不能访问data和methods

 6、setup不能是一个async函数:因为返回值不再是return的对象,而是promise,模板看不到return对象中的属性数据

三、setup中的参数问题

    setup(props,context){}

     props参数:是一个对象,里面有父级组件向子级组件传递的数据,并且是在子级组件中使用props接受到的所有的属性,包含props配置声明且传入了的所有属性的对象。

     context参数:是一个对象,里面有attrs对象(获取当前组件标签上的所有的属性的对象,但是该属性是在props中没有声明接收的所有的对象),emit方法(分发事件的),slots对象(插槽),包含没有在props配置中声明的属性的对象,相当于this.$attrs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值