- 实现步骤:
- 父组件中使用
provide
:在父组件中定义provide
选项,将要传递的数据暴露出去。
- 子组件中使用
inject
:在子组件中使用inject
选项,接收父组件传递的数据。
- 关键代码示例:
<template>
<div>
<child-component></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
parentData: '这是父组件的数据'
};
},
provide() {
return {
sharedData: this.parentData
};
}
};
</script>
- 子组件代码(假设为
ChildComponent.vue
):
<template>
<div>
<p>子组件获取到的数据: {{ sharedData }}</p>
</div>
</template>
<script>
export default {
inject: ['sharedData']
};
</script>