setup细节
set up细节:
1.setup执行的时机
(1)在beforeCreate之前执行(一次),此时组件对象还没有创建(2) this是undefined,不能通过this来访问data/computed/methods /props(3)其实所有的composition API相关回调函数中也都不可以;2.set up的返回值
(1)一般都返回一个对象:为模板提供数据,也就是模板中可以直接使用此对象中的所有属性/方法。(2)返回对象中的属性会与data函数返回对象的属性合并成为组件对象的属性(3)返回对象中的方法会与methods中的方法合并成功组件对象的方法(4)如果有重名,setup优先(5)注意:一般不要混合使用:methods中可以访问setup提供的属性和方法,但在setup方法中不能访问data和methods
setup不能是一个async函数:因为返回值不再是return的对象,而是promise,模板看不到return对象中的属性数据
3.setup的参数
(1)setup(props, context) / setup(props, (attrs, slots, emiti)(2)props: 包含props配置声明且传入了的所有属性的对象(3)attrs: 包含没有在props配置中声明的属性的对象,相当于 this.$attrs(4)slots: 包含所有传入的插槽内容的对象, 相当于 this.$slots(5)emit: 用来分发自定义事件的函数 相当于 this.$emit。
5.组件的属性
只能访问以下四种:props、attrs、slots、emit

浙公网安备 33010602011771号