父組件傳遞content="hello world",子組件有權(quán)對(duì)其進(jìn)行約束,或者說(shuō)校驗(yàn)
創(chuàng)新互聯(lián)公司是一家專業(yè)提供慶陽(yáng)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為慶陽(yáng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="./vue.js"></script>
<!-- <script src="http://cdn.staticfile.org/vue/2.6.10/vue.common.dev.js"></script> -->
</head>
<body>
<div id="root">
//這依然是字符串 <br>
<child1 content="1"></child1>
//用:的方式,引號(hào)內(nèi)的是js表達(dá)式,如果是數(shù)字,它就是數(shù)字類型 <br>
<child2 :nums="2"></child2>
<child3 other="123456"></child3>
<child4 isProps="is false"></child4>
</div>
<script type="text/javascript">
Vue.component("child1", {
/*//如果要進(jìn)行約束,就不要像這樣是數(shù)組,改為對(duì)象咯
props: ["content"],*/
props: {
content: Number //子組件接收的必須是數(shù)字類型
},
template: "<div>{{content}}</div>"
});
Vue.component("child2", {
/*//如果要進(jìn)行約束,就不要像這樣是數(shù)組,改為對(duì)象咯
props: ["content"],*/
props: {
nums: [Number, String] //子組件接收的必須是字符串類型或數(shù)字類型
},
template: "<div>{{nums}}</div>"
});
Vue.component("child3", {
props: {
//當(dāng)然還可以是對(duì)象
other: {
type: String, //必須是字符串
required: false, //非必須有
default: "default value", //沒有則給默認(rèn)值
validator: function(value) {
return (value.length > 5) //要求傳入的內(nèi)容長(zhǎng)度必須大于5
}
}
},
template: "<div>{{other}}</div>"
});
Vue.component("child4", {
//像這樣沒有props,則父組件向當(dāng)前子組件傳遞的屬性也使用不了
template: "<div>{{isProps}}</div>"
});
var vm = new Vue({
el: "#root"
});
</script>
</body>
</html>
雖然規(guī)定只能傳數(shù)字,但傳了字符串還是能顯示,但控制臺(tái)會(huì)警告:
如果子組件中使用了父組件傳過(guò)來(lái)的數(shù)據(jù),而不用props,則用不到這個(gè)屬性,會(huì)報(bào)錯(cuò)(不接收,怎能使用):
網(wǎng)站欄目:組件參數(shù)校驗(yàn)與非props特性
本文來(lái)源:http://jinyejixie.com/article28/iepgcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、服務(wù)器托管、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)