vue3 <script setup> 里基本语法的使用

188 阅读1分钟

子向父传值: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