vue 子组件传值父组件案例
时间: 2023-08-13 21:08:52 浏览: 107
当子组件需要向父组件传递数据时,可以通过自定义事件和 `$emit` 方法来实现。以下是一个简单的案例:
父组件 `ParentComponent.vue`:
```html
<template>
<div>
<h2>父组件</h2>
<p>接收到子组件传递的数据: {{ message }}</p>
<ChildComponent @child-event="handleChildEvent"></ChildComponent>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
message: ''
};
},
methods: {
handleChildEvent(data) {
this.message = data;
}
}
};
</script>
```
子组件 `ChildComponent.vue`:
```html
<template>
<div>
<h3>子组件</h3>
<button @click="sendMessage">传递数据给父组件</button>
</div>
</template>
<script>
export default {
methods: {
sendMessage() {
const data = 'Hello, 父组件!';
this.$emit('child-event', data);
}
}
};
</script>
```
在上述示例中,子组件中的按钮被点击时,会触发 `sendMessage` 方法,并通过 `$emit` 方法触发了一个自定义事件 `child-event`,并将数据 `'Hello, 父组件!'` 作为参数传递给父组件。
父组件中监听了该自定义事件 `child-event`,并在事件处理函数 `handleChildEvent` 中接收到子组件传递的数据,并将数据赋值给了 `message` 属性,最终在父组件的模板中展示出来。
这样,子组件就成功地向父组件传递了数据。
阅读全文