props概述
我们可以在官网上得到如下解释
-
类型:Array | Object
-
详细:
props 可以是数组或对象,用于接受来自父组件的数据。props 可以是简单的数组,或者使用对象作为替代,对象允许配置高级选项,如类型检测、自定义验证和设置默认值。你可以基于对象的语法使用一下选项:
- type:可以是下列原生构造函数中的一种:String、Number、Boolean、Array、Object、Data、Function、Symbol、任何自定义的构造函数、或上述内容组成的数组。会检查一个prop是否是给定的类型,否则抛出警告。
- default:any
为该prop指定一个默认值。如果该prop没有传入,则换做用这个值。对象或数组的默认值必须从一个工厂函数返回。 - required:Boolean
定义该prop是否是必填项。是非生产环境中,如果这个值truthy且该prop没有被传入,则会被控制台抛出一个警告。 - validator:Function
自定义验证函数会将该prop的值作为唯一的参数带入。在非生产环境下,如果该函数返回一个falsy的值(也就是验证失败),控制台将会抛出一个警告。
可以看出,我们可以对这些属性做一个定制。也可以对定制的属性进行验证,设置默认值,同时也可以支持函数(事件)。
数组形式
props: ["track","mode","operate","head","total"]
对象形式
props: {
mode: {
type: String,
required: true,
default: '',
},
track: {
type: Object,
default: function() {
return {}
},
},
operate: {
type: Array,
default: function () {
return []
},
},
head: {
type: Array,
required: true,
default: function () {
return []
},
},
total: {
type: Number,
default: 0,
}
}