用于组件
props: ['title', 'likes', 'isPublished', 'commentIds', 'author']
说明这个组件有'title', 'likes', 'isPublished', 'commentIds', 'author'这几个attribute
以下说明组件有title,likes等等属性,并且指定对应属性的类型,当给到错误类型的值时控制台会报错
props: { title: String, likes: Number, isPublished: Boolean, commentIds: Array, author: Object, callback: Function, contactsPromise: Promise // or any other constructor }
props支持的类型
String
Number
Boolean
Array
Object
Date
Function
Symbol
props定义的一些情况
Vue.component('my-component', { props: { // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证) propA: Number, // 多个可能的类型 propB: [String, Number], // 必填的字符串 propC: { type: String, required: true }, // 带有默认值的数字 propD: { type: Number, default: 100 }, // 带有默认值的对象 propE: { type: Object, // 对象或数组默认值必须从一个工厂函数获取 default: function () { return { message: 'hello' } } }, // 自定义验证函数 propF: { validator: function (value) { // 这个值必须匹配下列字符串中的一个 return ['success', 'warning', 'danger'].indexOf(value) !== -1 } } } })
/***********************************prop延伸*****************************************/
一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 prop 定义的 attribute。
比如:
一个 Bootstrap 插件使用了一个第三方的 <bootstrap-date-input>
组件,
这个插件需要在其 <input>
上用到一个 data-date-picker
attribute。我们可以将这个 attribute 添加到你的组件实例上:
<bootstrap-date-input data-date-picker="activated"></bootstrap-date-input>
然后这个 data-date-picker="activated"
attribute 就会自动添加到 <bootstrap-date-input>
的根元素上。