vue组件$emt传值
时间: 2023-11-21 16:06:59 浏览: 110
组件之间传值可以使用$emit方法。$emit方法是Vue实例的一个方法,用于触发当前实例上的事件。在组件中,可以使用$emit方法触发自定义事件,并且可以传递参数。在父组件中,可以使用v-on指令监听子组件触发的事件,并且可以在回调函数中获取子组件传递的参数。
下面是一个简单的示例,演示了如何在父组件中监听子组件触发的事件,并且获取子组件传递的参数:
```html
<template>
<div>
<child-component @my-event="handleEvent"></child-component>
<p>父组件接收到的消息:{{ message }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
data() {
return {
message: '',
};
},
methods: {
handleEvent(message) {
this.message = message;
},
},
};
</script>
```
在子组件中,可以使用$emit方法触发自定义事件,并且传递参数:
```html
<template>
<div>
<button @click="sendMessage">发送消息给父组件</button>
</div>
</template>
<script>
export default {
methods: {
sendMessage() {
this.$emit('my-event', 'Hello, world!');
},
},
};
</script>
```
在上面的示例中,子组件中的按钮被点击后,会触发my-event事件,并且传递参数'Hello, world!'。父组件中使用v-on指令监听子组件触发的my-event事件,并且在回调函数中获取子组件传递的参数,并且将其赋值给message变量。
阅读全文