vue:子组件像父组件传值
时间: 2023-11-08 07:05:16 浏览: 103
在Vue中,子组件向父组件传递数据可以通过自定义事件来实现。具体的实现方式如下:
1. 父组件定义一个方法来接收子组件传递过来的数据。
2. 在子组件中,通过$emit方法触发父组件中定义的方法,并且将数据作为参数传递过去。
下面是一个简单的例子:
父组件:
```
<template>
<div>
<p>我是父组件</p>
<child @send-msg="handleData"></child>
<p>我接收到了子组件传过来的数据:{{message}}</p>
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child
},
data() {
return {
message: ''
}
},
methods: {
handleData(data) {
this.message = data
}
}
}
</script>
```
子组件:
```
<template>
<div>
<p>我是子组件</p>
<button @click="sendData">向父组件传递数据</button>
</div>
</template>
<script>
export default {
data() {
return {
data: '我是子组件的数据'
}
},
methods: {
sendData() {
this.$emit('send-msg', this.data)
}
}
}
</script>
```
在上面的例子中,子组件通过$emit方法触发了父组件中定义的handleData方法,并且把子组件中的data作为参数传递过去。父组件接收到这个参数后,就可以进行相应的处理了。
--相关问题--:
阅读全文