vue中兄弟组件传值
时间: 2023-12-04 08:40:25 浏览: 168
在Vue中,兄弟组件之间的传值可以通过共同的父组件作为中介来实现。具体实现方法如下:
1.在父组件中定义一个数据属性,用于存储需要传递的值。
2.在需要传值的兄弟组件中,通过$emit方法触发一个自定义事件,并将需要传递的值作为参数传递给该事件。
3.在父组件中监听该自定义事件,并将接收到的值存储到数据属性中。
4.在另一个需要接收传值的兄弟组件中,通过$on方法监听该自定义事件,并在回调函数中获取父组件中存储的数据属性的值。
下面是一个示例代码:
```html
<!-- 父组件 -->
<template>
<div>
<child-a @send-data="handleSendData"></child-a>
<child-b :data="receivedData"></child-b>
</div>
</template>
<script>
export default {
data() {
return {
receivedData: ''
}
},
methods: {
handleSendData(data) {
this.receivedData = data
}
}
}
</script>
<!-- 子组件A -->
<template>
<div>
<button @click="handleClick">传递数据</button>
</div>
</template>
<script>
export default {
methods: {
handleClick() {
this.$emit('send-data', 'hello world')
}
}
}
</script>
<!-- 子组件B -->
<template>
<div>
<p>{{ data }}</p>
</div>
</template>
<script>
export default {
props: ['data']
}
</script>
```
阅读全文