setup编写示例
<script>
import {
reactive} from 'vue'
export default {
name: "DemoVue",
props:['xxx','yy',...],
setup(props,context){
const data = reactive({
......
})
//setup必须有返回值
return {
data,
}
}
}
</script>
setup执行的时机
在beforeCreate()
之前执行一次,并且此时输出this
时是undefined
setup的参数
- props:值为对象,包含组件外部传递过来,且组件内部声明接收了的属性
- context:上下文对象,主要包含了
attrs
、slots
、emit
三个对象,其中:
1. attrs:包含组件外部传递过来,但未在组件内部props配置中声明的属性,相当于this.$attrs
2. slots:接收到的插槽内容,相当于this.$slots
3. emit:分发自定义事件的函数,相当于this.$emit