vue子组件传父组件
时间: 2023-08-20 08:05:40 浏览: 84
Vue的子组件可以通过事件将数据传递给父组件。
在子组件中,可以通过`$emit`方法触发一个自定义事件,并传递数据给父组件。例如:
```vue
<template>
<button @click="sendData">传递数据给父组件</button>
</template>
<script>
export default {
methods: {
sendData() {
this.$emit('data', '这是子组件传递给父组件的数据');
}
}
}
</script>
```
在父组件中,可以通过在子组件上监听自定义事件,并在方法中接收到子组件传递的数据。例如:
```vue
<template>
<div>
<p>接收到的数据:{{ receivedData }}</p>
<child-component @data="handleData"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
receivedData: ''
}
},
methods: {
handleData(data) {
this.receivedData = data;
}
}
}
</script>
```
在上述示例中,子组件点击按钮后会触发`sendData`方法,通过`this.$emit('data', ...)`将数据传递给父组件。父组件则通过在子组件上监听`@data`事件,并调用`handleData`方法来接收子组件传递的数据并更新`receivedData`属性。
这样就完成了子组件向父组件传递数据的操作。
阅读全文