vue的$emit传递参数
时间: 2023-09-11 09:04:20 浏览: 102
在Vue中,可以使用$emit来触发一个自定义事件,并且可以传递参数。$emit的第一个参数是事件名称,第二个参数是要传递的数据。
例如,假设我们有一个父组件和一个子组件,我们想要在子组件中触发一个自定义事件,并将一些数据传递给父组件:
```html
<!-- 父组件 -->
<template>
<div>
<child-component @my-event="handleEvent"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
methods: {
handleEvent(data) {
// 处理传递过来的数据
}
}
}
</script>
<!-- 子组件 -->
<template>
<div>
<button @click="emitEvent">触发事件</button>
</div>
</template>
<script>
export default {
methods: {
emitEvent() {
this.$emit('my-event', '这是传递的数据')
}
}
}
</script>
```
在子组件中,我们使用@click事件来触发emitEvent方法,该方法会触发一个名为“my-event”的自定义事件,并将“这是传递的数据”作为第二个参数传递。在父组件中,我们可以使用@my-event指令来监听自定义事件,并使用handleEvent方法来处理传递过来的数据。
阅读全文