組件參數(shù)校驗(yàn)與非props特性

父組件傳遞content="hello world",子組件有權(quán)對(duì)其進(jìn)行約束,或者說(shuō)校驗(yàn)

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供慶陽(yáng)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為慶陽(yáng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuā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ù)字類(lèi)型 <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ù)字類(lèi)型
        },
        template: "<div>{{content}}</div>"
    });

    Vue.component("child2", {
        /*//如果要進(jìn)行約束,就不要像這樣是數(shù)組,改為對(duì)象咯
        props: ["content"],*/

        props: {
            nums: [Number, String] //子組件接收的必須是字符串類(lèi)型或數(shù)字類(lèi)型
        },
        template: "<div>{{nums}}</div>"
    });

    Vue.component("child3", {
        props: {
            //當(dāng)然還可以是對(duì)象
            other: {
                type: String, //必須是字符串
                required: false, //非必須有
                default: "default value", //沒(méi)有則給默認(rèn)值
                validator: function(value) {
                    return (value.length > 5) //要求傳入的內(nèi)容長(zhǎng)度必須大于5
                }
            }
        },
        template: "<div>{{other}}</div>"
    });

    Vue.component("child4", {
        //像這樣沒(méi)有props,則父組件向當(dāng)前子組件傳遞的屬性也使用不了
        template: "<div>{{isProps}}</div>"
    });

    var vm = new Vue({
        el: "#root"
    });
</script>
</body>
</html>

雖然規(guī)定只能傳數(shù)字,但傳了字符串還是能顯示,但控制臺(tái)會(huì)警告:
組件參數(shù)校驗(yàn)與非props特性
如果子組件中使用了父組件傳過(guò)來(lái)的數(shù)據(jù),而不用props,則用不到這個(gè)屬性,會(huì)報(bào)錯(cuò)(不接收,怎能使用):
組件參數(shù)校驗(yàn)與非props特性

網(wǎng)站欄目:組件參數(shù)校驗(yàn)與非props特性
本文來(lái)源:http://muchs.cn/article28/iepgcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(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)

網(wǎng)站優(yōu)化排名