在vue2中,父传子,子组件用props接收, 子传父,通过this.$emit
在vue3中,父传子,子组件用defineProps接收,子传父,通过defineEmits
父传子:
//父组件
<el-header><Header :isCollapse="isCollapse"/>
</el-header>
//子组件
const props = defineProps({
isCollapse:{
type:Boolean,
default:false
}
})
注:props.变量名
子传父:
//子组件
const emit = defineEmits<{ (e: 'changeIscollapse', id: boolean): void }>()
const changeStatus = () =>{
emit('changeIscollapse',!props.isCollapse)
}
//父组件
<el-header><Header @changeIscollapse="changeIscollapse"/>
</el-header>
const changeIscollapse = (collapse:Boolean)=>{
console.log('拿到了子组件的值',collapse)
}