
Vue.component('myComponent', {
props: {
// 基礎類(lèi)型檢測 (`null` 意思是任何類(lèi)型都可以)
propA: Number,
// 多種類(lèi)型
propB: [String, Number],
// 必傳且是字符串
propC: {
type: String,
required: true
},
// 數字,有默認值
propD: {
type: Number,
default: 100
},
// 數組/對象的默認值應當由一個(gè)工廠(chǎng)函數返回
propE: {
type: Object,
default: function () {
return { message: 'hello' }
}
},
// 自定義驗證函數
propF: {
validator: function (value) {
return value > 10
}
}
}
})
type 可以是下面原生構造器:
String
Number
Boolean
Function
Object
Array
Symbol
type 也可以是一個(gè)自定義構造器函數,使用 instanceof 檢測。
// 自定義Person構造器
function Person(name, age) {
this.name = name
this.age = age
}
Vue.component('my-component', {
template: `<div>名字: {{ person-prop.name }}, 年齡: {{ person-prop.age }} </div>`,
props: {
person-prop: {
type: Person // 指定類(lèi)型
}
}
})
new Vue({
el: '#app2',
data: {
person: 2 // 傳入Number類(lèi)型會(huì )報錯
}
})
呢 稱(chēng): | |
表 情: | |
內 容: |
評論內容:不能超過(guò) 1000 字,需審核,請自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規。 |
驗證碼: | |
您發(fā)布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會(huì )、集體和公民的合法權益;
二、不得發(fā)布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發(fā)布內容擁有處置權。