注意:prop是只读的!不可以修改父组件的数据。
可以检验传过来的内容是否类型没问题。
App.vue
<template>
<div>
<!-- <parentDemo/> -->
<componentA/>
</div>
</template>
<script>
import ComponentA from './components/componentA.vue';
// import parentDemo from './components/parentDemo.vue';
export default{
components:{
// parentDemo
ComponentA
}
}
</script>
<style>
</style>
A.vue
<template>
<div>
<h3>componentA</h3>
<componentB :title="titles" />//不传name
</div>
</template>
<script>
import ComponentB from './componentB.vue';
export default{
data(){
return{
titles:'sss',
names:['小明','画画']
}
},
components:{
ComponentB
}
}
</script>
B.vue
<template>
<div>
<h3>componentB</h3>
<p>{{ title }}</p>
<!-- A组件没有传age的值 -->
<p>{{ age }}</p>
<p v-for="(iteam,index) of names " :key='index'>{{ iteam }}</p>
</div>
</template>
<script>
export default{
data(){
return{
}
},
props:{
title:{
// 接受多种类型
type:[Number,String,Array,Object],
// 必选项,若不传则报警告。
required:true
},
age:{
// 没传age的值
type:Number,
// 没传显示默认值为0,传了就显示传的值
default:0
},
// 数字和字符串可以直接default,但是如果是数组和对象,必须通过函数返回函数默认值
names:{
type:Array,
// 数组默认返回函数
default(){
return["空"]
}
}
}
}
</script>



![P8716 [蓝桥杯 2020 省 AB2] 回文日期](https://i-blog.csdnimg.cn/direct/d92a554c49bf4dfe857724d43cbee1cd.png)






![【二分查找 图论】P8794 [蓝桥杯 2022 国 A] 环境治理|普及](https://i-blog.csdnimg.cn/img_convert/ce7d55606ded7fbf25a94197220e4568.png)



![[java基础-JVM篇]1_JVM自动内存管理](https://i-blog.csdnimg.cn/direct/bebeba077d174b75bd4152eca9b65f3f.png)




