vue3.0父子组件方法调用(setup语法糖)
vue3.0父子组件方法相互调用
·
1、父组件调用子组件方法
子组件
<script setup>
import { defineExpose } from 'vue'
// 定义父组件要调用的事件
function getTestList() {
console.log('已经调用了子组件方法')
}
// 将父组件要调用的方法抛出去
defineExpose({ getTestList })
</script>
父组件
<template>
<Test ref="TestRef"></Test>
<el-button type="danger" @click="handleTest">调用子组件方法</el-button>
</template>
<script setup>
//引入子组件
import Test from '@/components/test/index.vue'
import { ref } from 'vue'
// 定义子组件ref
const TestRef = ref()
// 调用子组件方法
function handleTest() {
TestRef.value.getTestList()
}
</script>
2、子组件调用父组件方法
父组件
<template>
<Test :getFatherList="getFatherList"></Test>
</template>
// 定义子组件要调用的方法
function getFatherList() {
console.log('父组件的方法被调用了')
}
子组件
<template>
<el-button type="primary" @click="clickFatherList">调用父组件的方法</el-button>
</template>
<script setup>
import { defineProps} from 'vue'
//定义参数 已经选中的ITEMID
const props = defineProps({
getFatherList: {
type: Function,
default: Function,
required: true,
}
})
// 调用父组件的方法
function clickFatherList() {
props.getFatherList()
}
</script>
更多推荐
已为社区贡献8条内容
所有评论(0)