vue 子组件给父组件传值
时间: 2023-08-23 14:08:10 浏览: 81
在 Vue 中,子组件向父组件传递值需要使用事件。具体步骤如下:
1. 在子组件中定义一个事件,例如:`this.$emit('eventName', data)`,其中 eventName 是事件名,data 是需要传递的数据。
2. 在父组件中通过 `v-on:eventName="handler"` 监听子组件的事件,其中 handler 是处理事件的方法。
3. 在父组件的 handler 方法中,可以通过 $event 获取子组件传递的数据,例如:`handler(data) { console.log(data) }`。
示例代码如下:
子组件:
```
<template>
<button @click="onClick">点击传递数据</button>
</template>
<script>
export default {
methods: {
onClick() {
const data = { name: 'Vue', version: '3.0' }
this.$emit('sendData', data)
}
}
}
</script>
```
父组件:
```
<template>
<div>
<child-component @sendData="handler"></child-component>
<p>接收到的数据:{{ receivedData }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
data() {
return {
receivedData: null
}
},
methods: {
handler(data) {
console.log(data)
this.receivedData = data
}
}
}
</script>
```
阅读全文