vue2兄弟之间的传参
时间: 2023-07-18 12:40:29 浏览: 92
Vue.js中兄弟组件之间互相传值实例
5星 · 资源好评率100%
Vue 2.x 中,如果两个组件是兄弟关系(即它们有同一个父组件),可以通过父组件来传递数据,具体有以下几种方式:
1. 父组件通过 props 属性传递数据给子组件:
父组件的模板:
```html
<template>
<div>
<child-component :data="parentData"></child-component>
</div>
</template>
<script>
export default {
data() {
return {
parentData: 'data from parent component'
}
}
}
</script>
```
子组件的模板:
```html
<template>
<div>{{ data }}</div>
</template>
<script>
export default {
props: ['data']
}
</script>
```
2. 兄弟组件之间可以通过共同的父组件来传递数据,即通过 $emit 方法触发父组件的事件来传递数据:
父组件的模板:
```html
<template>
<div>
<child-component1 @send-data="handleSendData"></child-component1>
<child-component2 :data="receivedData"></child-component2>
</div>
</template>
<script>
export default {
data() {
return {
receivedData: ''
}
},
methods: {
handleSendData(data) {
this.receivedData = data;
}
}
}
</script>
```
子组件1的模板:
```html
<template>
<button @click="sendDataToParent">Send Data to Parent</button>
</template>
<script>
export default {
methods: {
sendDataToParent() {
this.$emit('send-data', 'data from child component');
}
}
}
</script>
```
子组件2的模板:
```html
<template>
<div>{{ data }}</div>
</template>
<script>
export default {
props: ['data']
}
</script>
```
以上是两个兄弟组件之间传递数据的两种方式,需要根据实际情况选择合适的方式来传递数据。
阅读全文