vue2 子父传参 $emit
时间: 2023-06-28 13:07:44 浏览: 102
在 Vue2 中,可以通过 `$emit` 方法在子组件和父组件之间传递参数。
首先,在父组件中使用子组件时,可以通过 `v-on` 指令监听子组件触发的事件,例如:
```html
<template>
<div>
<ChildComponent v-on:my-event="handleEvent" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
methods: {
handleEvent(data) {
console.log(data); // 子组件传递的参数
},
},
};
</script>
```
在子组件中,可以通过 `$emit` 方法触发一个自定义事件,并且可以传递需要传递的参数,例如:
```html
<template>
<div>
<button @click="emitEvent">点击触发事件</button>
</div>
</template>
<script>
export default {
methods: {
emitEvent() {
this.$emit('my-event', '传递的参数');
},
},
};
</script>
```
这样,当子组件中的按钮被点击时,会触发 `my-event` 事件,并且传递了一个字符串参数 `'传递的参数'`。父组件中的 `handleEvent` 方法会接收到这个参数并进行处理。
阅读全文