vue父组件通过事件传值子组件
时间: 2023-08-02 18:08:58 浏览: 84
在Vue中,父组件可以通过事件来向子组件传值。以下是一种常见的方法:
1. 在父组件中定义一个数据属性,用于存储要传递给子组件的值。
```javascript
<template>
<div>
<child-component @childEvent="handleChildEvent"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
valueFromParent: ''
};
},
methods: {
handleChildEvent(value) {
this.valueFromParent = value;
}
}
};
</script>
```
2. 在子组件中,使用 `$emit` 方法来触发自定义事件,并将需要传递的值作为参数传递给父组件。
```javascript
<template>
<div>
<button @click="sendValueToParent">传值给父组件</button>
</div>
</template>
<script>
export default {
methods: {
sendValueToParent() {
const value = '这是子组件传递给父组件的值';
this.$emit('childEvent', value);
}
}
};
</script>
```
在上述例子中,当子组件的按钮被点击时,`sendValueToParent` 方法会触发名为 `childEvent` 的自定义事件,并将值传递给父组件的 `handleChildEvent` 方法。父组件会将接收到的值存储在 `valueFromParent` 数据属性中。
这样,父组件就可以通过监听 `childEvent` 事件,并在事件处理方法中获取子组件传递过来的值。
阅读全文