vue2中,两个子组件传值,然后再传值给父组件
时间: 2024-02-06 20:43:40 浏览: 60
在 Vue2 中,可以通过使用 `props` 和 `$emit` 实现子组件向父组件传值。
首先,在子组件中通过 `props` 接收父组件传递的值:
```vue
<template>
<div>
<p>{{ message }}</p>
<button @click="sendMessage">发送消息给父组件</button>
</div>
</template>
<script>
export default {
props: {
// 父组件传递的消息
message: {
type: String,
default: '',
},
},
methods: {
sendMessage() {
// 子组件通过 $emit 向父组件发送消息
this.$emit('send-message-to-parent', 'Hello, 父组件!');
},
},
};
</script>
```
然后,在父组件中,使用 `v-bind` 将数据传递给子组件,并通过 `v-on` 监听子组件触发的事件,从而获取子组件传递的值:
```vue
<template>
<div>
<child-component :message="message" @send-message-to-parent="handleChildMessage"></child-component>
<p>{{ childMessage }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
data() {
return {
message: 'Hello, 子组件!',
childMessage: '',
};
},
methods: {
handleChildMessage(message) {
// 父组件接收子组件的消息
this.childMessage = message;
},
},
};
</script>
```
这样,就完成了子组件向父组件传递数据的过程。
阅读全文