首頁 > 軟體

分享Vue子元件接收父元件傳值的3種方式

2022-03-29 13:00:56

父元件程式碼↓

<template>
    <div>
        <div>父元件</div>
        <Student :name="name" :age="age"></Student>
    </div>
</template>

<script>
    // 引入元件
    import Student from './components/Student'
    
    export default {
        name: 'App',
        components: {Student,},
        data() {
            return {
                name: "張三",
                age: 18
            }
        }
        
    }
    
</script>

1.簡單宣告接收

<template>
    <div>
        <div>子元件</div>
        <h2>學生姓名:{{ name }}</h2>
        <h2>年齡:{{ age }}</h2>
    </div>
</template>

<script>
    export default {
        name: 'Student',
        data() {
            return {}
        },
        
        // 簡單宣告接收 ----------
        props: ['name', 'age']
        // ---------------------
        
    }
</script>

2.接收資料的同時進行 型別限制

<template>
    <div>
        <div>子元件</div>
        <h2>學生姓名:{{ name }}</h2>
        <h2>年齡:{{ age }}</h2>
    </div>
</template>

<script>
    export default {
        name: 'Student',
        data() {
            return {}
        },
        
        // 接收資料的同時進行型別限制 ---
        props: {
            name: String,
            age: Number
        }
        // --------------------------
        
    }
</script>

3.接收資料的同時對 資料型別、必要性、預設值 進行限制

<template>
    <div>
        <div>子元件</div>
        <h2>學生姓名:{{ name }}</h2>
        <h2>年齡:{{ age }}</h2>
    </div>
</template>

<script>
    export default {
        name: 'Student',
        data() {
            return {}
        },
        // 接收資料的同時對 資料型別、必要性、預設值 進行限制 -----
        props: {
            name: {
                type: String,      // name傳入型別必須為字串
                required: true    // name設為必傳欄位
            },
            age: {
                type: Number,
                default: 233      // 預設值
            }
        },
        // ------------------------------------------------
    }
</script>

到此這篇關於分享Vue子元件接收父元件傳值的3種方式的文章就介紹到這了,更多相關Vue子元件接收父元件傳值內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com