在 Vue 3 中,父组件可以通过 props 将数据传递给子组件。下面是一个简单的例子来展示如何实现这一点。
父组件(ParentComponent.vue)
<template><div><h1>父组件</h1><ChildComponent :message="parentMessage" /></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent,},data() {return {parentMessage: '这是从父组件传递来的信息',};},
};
</script>
子组件(ChildComponent.vue)
<template><div><h2>子组件</h2><p>{{ message }}</p></div>
</template><script>
export default {props: {message: {type: String,required: true,},},
};
</script>
解释
-  父组件(ParentComponent.vue): - 定义了一个名为 parentMessage的数据属性。
- 使用子组件 <ChildComponent>并通过:message="parentMessage"将parentMessage的值传递给子组件的message属性。
 
- 定义了一个名为 
-  子组件(ChildComponent.vue): - 定义了一个 props属性,用来接收父组件传递的数据。message的类型被定义为String,并且是必需的。
- 在模板中,通过 {{ message }}来显示从父组件接收的message值。
 
- 定义了一个 
这样,父组件的数据就成功传递到了子组件中,并在子组件中显示出来了。
注意事项
-  props是单向数据流,即数据只能从父组件流向子组件。如果子组件需要改变这个值,应该通过事件将数据传回父组件,父组件更新数据后再传给子组件。
-  如果需要传递复杂的数据类型,比如对象或数组,也可以在 props中定义对应的类型。例如:props: {user: {type: Object,required: true,},items: {type: Array,required: true,}, },
通过这种方式,父组件可以灵活地将各种类型的数据传递给子组件。