vue中使用$emit传递参数
在Vue中,$emit
方法用于触发当前实例上的事件。你可以在子组件中使用$emit
来发送数据到父组件。以下是一个简单的例子:
假设你有一个父组件ParentComponent
和一个子组件ChildComponent
。你想从ChildComponent
发送一个名为custom-event
的事件到ParentComponent
,并且传递一个参数。
在子组件ChildComponent
中:
<template>
<button @click="sendDataToParent">Send Data to Parent</button>
</template>
<script>
export default {
methods: {
sendDataToParent() {
const data = 'some data';
this.$emit('custom-event', data);
}
}
}
</script>
在父组件ParentComponent
中:
<template>
<child-component @custom-event="handleDataFromChild"></child-component>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
methods: {
handleDataFromChild(data) {
console.log('Data received from child:', data);
}
}
}
</script>
在这个例子中,当在ChildComponent
中点击按钮时,会触发sendDataToParent
方法,该方法使用this.$emit
来发出一个名为custom-event
的事件,并传递了字符串'some data'
作为参数。父组件通过监听custom-event
事件来接收数据,并在其方法handleDataFromChild
中处理它。
评论已关闭