一、Props基础概念
在Uniapp开发中,Props(属性)是父组件向子组件传递数据的主要方式。它允许你将数据从父级传到子级,使得子组件能够接收外部传入的信息。
Props的特点:
1. 单向数据流:只能从父组件流向子组件
2. 可验证性:可以指定类型和默认值
3. 响应式:父组件的更新会自动反映到子组件
二、基本用法
1. 定义Props
在子组件的`export default`中使用`props`选项:
javascript
export default {
props: ['title', 'content']
}
2. 使用Props
在模板中可以直接使用props:
html
3. 父组件传递数据
html
三、Prop类型验证
为了确保数据的正确性,可以为props指定类型:
javascript
export default {
props: {
title: String,
likes: Number,
isPublished: Boolean,
commentIds: Array,
author: Object,
callback: Function,
contactsPromise: Promise // or any other constructor
}
}
四、高级用法
1. Prop默认值与必填项
javascript
export default {
props:{
//基本类型检查(null和undefined会通过任何类型验证)
propA:String,
//多个可能的类型
propB:[String,Number],
//必填的字符串
propC:{
type:String,
required:true
},
//带有默认值的数字
propD:{
type:Number,
default:100
},
//带有默认值的对象
propE:{
type.Object,
default(){
return {message:'hello'}
}
}
}
}
文章点评