vue3父组件拿子组件的方法
时间: 2024-05-18 18:09:21 浏览: 82
在 Vue 3 中,可以通过 `ref` 和 `setup` 来实现父组件获取子组件的方法。具体步骤如下:
1. 在子组件中,通过 `ref` 创建一个子组件实例的引用:
```
<template>
<div>子组件</div>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const child = ref(null)
return {
child
}
}
}
</script>
```
2. 在父组件中,通过 `ref` 获取到子组件的引用,并且在子组件渲染完成后将子组件实例赋值给 `child`:
```
<template>
<div>
<Child ref="childRef" />
<button @click="getChild">获取子组件</button>
</div>
</template>
<script>
import Child from './Child.vue'
import { ref } from 'vue'
export default {
components: {
Child
},
setup() {
const childRef = ref(null)
const getChild = () => {
childRef.value = child.value.$el
}
return {
childRef,
getChild
}
}
}
</script>
```
3. 父组件就可以使用 `childRef` 来访问子组件的属性和方法了。
阅读全文
相关推荐


















