//父组件App.vue
<Student name="张三" :age="18" sex="男" ref="stu"/>
//子组件Student.vue
props: ['name','age', 'sex'],
// props: {
// name: {
// type: String,
// required: true
// },
// age: {
// type: Number,
// default: 99
// },
// sex: {
// type: String,
// required: true
// }
// }
组件配置对象props:
- 简单接收:复用组件时,组件结构相同,但是组件的数据不一样,就可以在父组件中传递属性进去,子组件通过props以数组的形式接受数据;props:[‘属性名’,‘属性名’……]
- 对象形式接收:给每一个属性变量限定一个数据类型,限定接受数据的类型,这种props就必须写成一个对象,对象里面写props: {属性名:数据类型……}
- 接收时对数据进行多个设置:这样,接收的属性也是以一个对象的形式,props:{name:{type:类型,required:true(属性是否为必有项),default:值(默认值,不能和第二项一起使用,是单独使用的)}}
- 如果子组件的props中属性父组件并没有传递,那么该属性就会是undefined;父组件传递进来的数据子组件不能修改;、
- 子组件中:props接收进来的数据优先级比自己data的高,会先准备好props中的数据,然后再初始化data中的数据,所以在data里可以使用到props的数据;