vue中同级组件调用方法
时间: 2023-10-29 16:00:06 浏览: 110
在Vue中,同级组件之间的通信可以通过props和事件来实现。如果组件A要调用组件B的方法,可以在组件A中使用$refs来获取组件B的实例,并调用其方法。
例如,假设有两个同级组件A和B,B组件中有一个名为doSomething的方法,A组件想要调用B组件的doSomething方法,可以按照如下步骤操作:
1. 在B组件中给doSomething方法添加一个ref属性,如下所示:
```html
<template>
<div ref="myCompB">
<!-- B组件的内容 -->
</div>
</template>
<script>
export default {
name: 'compB',
methods: {
doSomething() {
// B组件的doSomething方法
}
}
}
</script>
```
2. 在A组件中使用$refs获取B组件的实例,并调用其doSomething方法,如下所示:
```html
<template>
<div>
<!-- A组件的内容 -->
<button @click="callCompBMethod">调用B组件的方法</button>
</div>
</template>
<script>
export default {
name: 'compA',
methods: {
callCompBMethod() {
// 获取B组件的实例
const compB = this.$refs.myCompB;
// 调用B组件的doSomething方法
compB.doSomething();
}
}
}
</script>
```
这样,当A组件中的按钮被点击时,就会调用B组件的doSomething方法。
阅读全文