vue3 <script lang=“ts“ setup> 父子组件传值
//-----------父页面代码
<template>
<Adialog v-if="leftvisible == true" ref="refrow" @sonclick="sonclick"></Adialog>
</template>
<script lang="ts" setup>
const refrow = ref();
const operationfun = (a) => { //一个点击打开封装的公共对话的页面的方法
leftvisible.value = true;
setTimeout(() => { //注意一定要延时 否则有时候对话框没有加载出来 找不到定义的方法
refrow.value.parentdata(a); //调用子页面定义的方法
}, 200);
};
</script>
//子类页面代码
<script lang="ts" setup>
import {defineExpose} from 'vue';
const parentdata = (row) => {
console.log('row', row); //打印你从父页面传递过来的数据
};
defineExpose({
parentdata, // 一定要把你自定义的方法 暴露出去 否则找不到你定义的方法
});
</script>