vue子组件向父组件传值
时间: 2023-06-22 18:20:42 浏览: 61
Vue 子组件向父组件传值,可以通过自定义事件来实现。具体步骤如下:
1. 在子组件中定义一个方法,通过 $emit 触发自定义事件,并传递参数。
2. 在父组件中通过 v-on 指令监听自定义事件,绑定一个方法来接收参数。
下面是一个示例代码:
子组件 Child.vue:
```html
<template>
<div>
<button @click="handleClick">点击传递数据</button>
</div>
</template>
<script>
export default {
methods: {
handleClick() {
this.$emit('childClick', '我是子组件传递的数据')
}
}
}
</script>
```
父组件 Parent.vue:
```html
<template>
<div>
<p>子组件传递的数据:{{ message }}</p>
<Child v-on:childClick="handleChildClick" />
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child
},
data() {
return {
message: ''
}
},
methods: {
handleChildClick(data) {
this.message = data
}
}
}
</script>
```
在上面的示例中,子组件中的 handleClick 方法通过 $emit 触发了自定义事件 childClick,并传递了一个字符串参数 "我是子组件传递的数据"。父组件中通过 v-on 指令监听了自定义事件 childClick,并绑定了一个方法 handleChildClick 来接收参数。在 handleChildClick 方法中,把接收到的参数赋值给父组件的 data 中的 message 属性,最终在模板中显示出来。