vue3中子组件用父组件方法
时间: 2023-08-30 16:05:28 浏览: 128
vue中子组件调用兄弟组件方法
在Vue3中,可以使用`ref`或`$refs`获取子组件实例,并通过子组件实例调用其父组件中的方法。
在父组件中,可以通过`ref`或`$refs`来获取子组件实例,然后将父组件的方法作为参数传递给子组件,在子组件中调用该方法。
例如,在父组件中,定义一个方法`parentMethod`:
```javascript
<template>
<div>
<child-component :childMethod="parentMethod"></child-component>
</div>
</template>
<script>
import { ref } from 'vue';
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
setup() {
const childComponentRef = ref(null);
function parentMethod() {
console.log('Called from parent component');
}
return {
childComponentRef,
parentMethod
};
}
};
</script>
```
在子组件中,可以通过`props`接收父组件传递过来的方法,并在需要调用该方法的地方使用:
```javascript
<template>
<div>
<button @click="childMethod">Call parent method</button>
</div>
</template>
<script>
export default {
props: {
childMethod: {
type: Function,
required: true
}
},
setup(props) {
function handleClick() {
props.childMethod();
}
return {
handleClick
};
}
};
</script>
```
这样,在子组件中点击按钮后,就会调用父组件中的`parentMethod`方法。
阅读全文