vue2子组件传递数据给父组件
时间: 2024-02-06 16:07:36 浏览: 75
在Vue.js中,子组件向父组件传递数据可以通过自定义事件来实现。具体步骤如下:
1. 在父组件中定义一个方法,用于接收子组件传递的数据。
2. 在子组件中通过`$emit`方法触发自定义事件,并将需要传递的数据作为参数传入。
3. 在父组件中监听子组件触发的自定义事件,并在事件处理函数中获取传递的数据。
以下是一个示例代码:
```vue
<!-- 父组件 -->
<template>
<div>
<h1>父组件</h1>
<p>接收到的数据:{{ receivedData }}</p>
<child-component @child-event="handleChildEvent"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
receivedData: ''
};
},
methods: {
handleChildEvent(data) {
this.receivedData = data;
}
}
};
</script>
<!-- 子组件 -->
<template>
<div>
<h2>子组件</h2>
<button @click="sendData">点击传递数据</button>
</div>
</template>
<script>
export default {
methods: {
sendData() {
const data = 'Hello, parent!';
this.$emit('child-event', data);
}
}
};
</script>
```
在上述示例中,子组件通过点击按钮触发`sendData`方法,该方法通过`$emit`触发了名为`child-event`的自定义事件,并将数据`Hello, parent!`作为参数传递给父组件。父组件通过监听`child-event`事件,并在事件处理函数`handleChildEvent`中获取到传递的数据,并将其赋值给`receivedData`属性。
阅读全文