<template>
<div>
<!-- 父组件 -->
<ParentComponent />
</div>
</template>
<script>
import ParentComponent from './ParentComponent.vue';
export default {
components: {
ParentComponent
}
};
</script>
<template>
<div>
<h1>父组件</h1>
<ChildComponent :message="parentMessage" @childEvent="handleChildEvent" />
<p>从子组件接收的值:{{ childValue }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
parentMessage: 'Hello from Parent',
childValue: ''
};
},
methods: {
handleChildEvent(value) {
this.childValue = value;
}
}
};
</script>
<template>
<div>
<h2>子组件</h2>
<p>从父组件接收到的值:{{ message }}</p>
<button @click="sendToParent">发送给父组件</button>
</div>
</template>
<script>
export default {
props: {
message: String
},
methods: {
sendToParent() {
this.$emit('childEvent', 'Hello from Child');
}
}
};
</script>
父组件向子组件传值:
ParentComponent.vue 中,通过 v-bind (:) 将父组件的数据 parentMessage 传递给子组件 ChildComponent。props 接收父组件传递的值。子组件向父组件传值:
ChildComponent.vue 中,使用 $emit 触发一个自定义事件 childEvent,并将数据传递给父组件。v-on (@) 监听子组件触发的事件,并在方法 handleChildEvent 中处理接收到的数据。双向绑定(可选):
v-model 或者 .sync 修饰符来简化代码。上一篇:vue3 子路由
下一篇:node.js vue
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站