<!-- ParentComponent.vue -->
<template>
<div>
<h1>父组件</h1>
<p>来自子组件的消息: {{ childMessage }}</p>
<ChildComponent :parentMessage="parentMessage" @childEvent="handleChildEvent" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
parentMessage: '这是来自父组件的消息',
childMessage: ''
};
},
methods: {
handleChildEvent(message) {
this.childMessage = message;
}
}
};
</script>
<!-- ChildComponent.vue -->
<template>
<div>
<h2>子组件</h2>
<p>来自父组件的消息: {{ parentMessage }}</p>
<button @click="sendMessageToParent">发送消息给父组件</button>
</div>
</template>
<script>
export default {
props: {
parentMessage: String
},
methods: {
sendMessageToParent() {
const message = '这是来自子组件的消息';
this.$emit('childEvent', message);
}
}
};
</script>
父组件 (ParentComponent.vue):
props 将数据传递给子组件。在本例中,父组件通过 :parentMessage="parentMessage" 将 parentMessage 数据传递给子组件。@childEvent="handleChildEvent") 并处理子组件传递过来的消息。子组件 (ChildComponent.vue):
props 接收父组件传递的数据 (parentMessage)。$emit 方法触发自定义事件 (childEvent) 并将消息传递回父组件。双向通信:
下一篇:vue 具名插槽
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站