這篇文章主要為大家展示了“Vue組件中參數(shù)校驗(yàn)與非props特性的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Vue組件中參數(shù)校驗(yàn)與非props特性的示例分析”這篇文章吧。

子組件接收父組件的參數(shù)的時(shí)候,props注冊(cè)接收的參數(shù)
props:['count']
子組件可以對(duì)接收的參數(shù)校驗(yàn)。
例如規(guī)定接收的count參數(shù)要求是String
props:{
count:String
}如果count是別的類(lèi)型就會(huì)報(bào)錯(cuò)
組件的參數(shù)校驗(yàn)
組件的參數(shù)校驗(yàn)指的是什么呢?你父組件向子組件傳遞的內(nèi)容,子組件有權(quán)對(duì)這個(gè)內(nèi)容進(jìn)行一些約束,這個(gè)約束我們可以把它叫做參數(shù)的校驗(yàn)。
<div id="root">
<child content="hello world"></child>
</div>
Vue.component('child',{
props: ['content'],
template: '<div>{{content}}</div>'
})
let vm = new Vue({
el: '#root',
})現(xiàn)在有這樣一個(gè)需求,父組件調(diào)用子組件的時(shí)候,傳遞的這個(gè)content,我要做一些約束,要求它我傳遞過(guò)來(lái)的content必須是一個(gè)字符串,我們?cè)撛趺磳?shí)現(xiàn)呢?
<div id="root">
<child content="hello world"></child>
</div>
Vue.component('child',{
props: {
content: String //子組件接收到的 content 這個(gè)屬性,必須是一個(gè)字符串類(lèi)型的
},
template: '<div>{{content}}</div>'
})
let vm = new Vue({
el: '#root',
})組件接收到的content這個(gè)屬性,必須是一個(gè)字符串類(lèi)型的,如果我需要的參數(shù)類(lèi)型是字符串或者數(shù)組,又該怎么寫(xiě)呢?
props: {
content: [ String, Number ]
},content的類(lèi)型,可以用數(shù)組來(lái)表示。
content其實(shí)還有更復(fù)雜的用法:
props: {
content: {
type: Sring,
required: true, //必傳
default: 'default value', //默認(rèn)顯示,非必傳會(huì)顯示
validator(value){ //檢測(cè) content 的長(zhǎng)度,如果長(zhǎng)度大于 5,正常顯示,如果長(zhǎng)度小于 5 則報(bào)錯(cuò)
return (value.length > 5)
}
}
}非props特性
說(shuō)到非props特性,它一定和props特性相對(duì)應(yīng)。
props特性:當(dāng)你的父組件使用子組件的時(shí)候,通過(guò)屬性向子組件傳值的時(shí)候,恰好子組件里面聲明了對(duì)父組件傳遞過(guò)來(lái)的屬性的一個(gè)接收,也就是說(shuō)父子組件有個(gè)對(duì)應(yīng)關(guān)系,如果你這么寫(xiě)我們就把叫做props特性
props特性的特點(diǎn)是,如下圖:
我們?cè)谧咏M件里有一個(gè)content的內(nèi)容傳遞,這個(gè)屬性的內(nèi)容傳遞是不會(huì)在dom標(biāo)簽上進(jìn)行顯示的。
當(dāng)你父組件傳遞了content,你子組件接收了這個(gè)content,你在模版里就可以直接通過(guò)插值表達(dá)式或者通過(guò)this.content,去取得content里面的內(nèi)容了。

非props特性:父組件向子組件傳遞了一個(gè)屬性,但是子組件并沒(méi)有props這塊的內(nèi)容,也就是說(shuō)子組件并沒(méi)有聲明我要接收父組件的傳遞過(guò)來(lái)的內(nèi)容
非props特點(diǎn):
非props特性在子組件里面,沒(méi)辦法獲取到你父組件傳遞的內(nèi)容,因?yàn)槟銐焊鶝](méi)聲明你要獲取的內(nèi)容,也就沒(méi)法用。
如果我們用的是非props特性,那么這個(gè)特性是會(huì)顯示在dom標(biāo)簽上的

以上是“Vue組件中參數(shù)校驗(yàn)與非props特性的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標(biāo)題:Vue組件中參數(shù)校驗(yàn)與非props特性的示例分析-創(chuàng)新互聯(lián)
瀏覽地址:http://www.chinadenli.net/article36/dcpopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站營(yíng)銷(xiāo)、域名注冊(cè)、定制網(wǎng)站、App開(kāi)發(fā)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容