一 父组件调用子组件方法,属性(ref)defineExpose;
子组件
<template>
<input type="text" v-model="msg" />
<div>子组件:父组件调用子组件方法,属性</div>
</template>
<script setup>
import { ref, reactive, defineExpose } from "vue";
let defineProps = defineProps(["id"]);
let info = reactive({
like: "王者荣耀",
age: 18,
});
// 变量
const msg = ref("王三麻子");
function getmsg() {
return msg;
}
//1 先定义defineExpose,注意上面要引入
defineExpose({ info, getmsg });
</script>
父组件
<template>
<div id="app">
<el-button @click="clickGetChild">获取子组件的值</el-button>
<!-- 2 ref [refHomeCom]和组件名称不要相同 -->
<homeCom ref="refHomeCom" :id="id"></homeCom>
</div>
</template>
<script setup>
import { ref, onMounted } from "vu