子向父传值:defineEmits
子组件中:
第一步:在子组件中引入defineEmits
import {defineEmits} from 'vue'
第二步:在子组件的全局作用域下实例化emit:
const emits = defineEmits(['sendDate']);
第三步:使用emits
function submit() {
emits('sendDate', {
value1:'aaa' //要传递的值
})
}
父组件中:
第一步:在应用组件的地方:
<sonVue @sendDate="getDate"></sonVue>
第二步:getDate函数里接收子组件的传参:
const getDate = (value)=>{
console.log(value) //value就是子组件给父组件的传值
}
父组件获取子组件的值 defineExpose
子组件:
第一步:在子组件中引入 defineExpose
import { defineExpose,ref } from 'vue'
第二步:在子组件中暴露父组件需要的值
const value = ref('aaa')
defineExpose({
value
})
父组件:
第一步: 在应用子组件的地方使用ref:
<sonVue ref="getDate"></sonVue>
第二步:在js里的使用:
import { ref } from 'vue'
const getDate = ref(null) //这里的getDate要与组件应用的地方的ref的值一样
第三步:打印出值:
console.log(getDate.value.value) //aaa