亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中父組件怎么向子組件傳遞數據

發布時間:2022-08-10 14:35:46 來源:億速云 閱讀:154 作者:iii 欄目:編程語言

本篇內容介紹了“Vue中父組件怎么向子組件傳遞數據”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Vue中父組件怎么向子組件傳遞數據

1.props & event

父組件向子組件傳遞props數據,子組件通過觸發事件向父組件回傳數據,代碼如下:

//子組件 
<template>
    <div @click="changeName('YYY')">{{name}}</div>
</template>
<script>
export default{
    props:['name'],//or props:{name:{type:String,default:''}}
    methods:{
        //不能在子組件修改props數據,應觸發事件讓父組件處理
        changeName(newName){
            this.$emit('changeName',newName)
        }
    }
}
</script>
 
//父組件
<template>
    <div>
        <child-comp :name="name" @changeName="changeName"></child-comp>
    </div>
</template>
<script>
    import childComp from 'path'
    export default{
        data(){
            return {name:'XXX'}
        },
        components:{
            childComp
        },
        methods:{
            changeName(newName){
                this.name = newName;
            }
        }
    }
</scritp>

以上就是一個完整的流程,父組件通過props將數據傳遞給子組件,子組件則觸發事件,由父組件監聽,并做相應處理。

2.ref

ref屬性可定義在子組件或原生DOM上,如果在子組件上,則指向子組件實例,如果在原生DOM上,則指向原生DOM元素(可以用做元素選擇,省去querySelector的煩惱)。

傳遞數據的思路:在父組件內通過ref獲取子組件實例,然后調用子組件方法,并傳遞相關數據作為參數。代碼如下:

//子組件 
<template>
    <div>{{parentMsg}}</div>
</template>
<script>
export default{
    data(){
        return {
            parentMsg:''
        }
    },
    methods:{
        getMsg(msg){
            this.parentMsg = msg;
        }
    }
}
</script>
 
//父組件
<template>
    <div>
        <child-comp ref="child"></child-comp>
        <button @click="sendMsg">SEND MESSAGE</button>
    </div>
</template>
<script>
    import childComp from 'path'
    export default{
        components:{
            childComp
        },
        methods:{
            sendMsg(){
                this.$refs.child.getMsg('Parent Message');
            }
        }
    }
</scritp>

3.provide & inject 官方不推薦在生產環境使用

provide意為提供,當一個組件通過provide提供了一個數據,那么它的子孫組件就可以使用inject接受注入,從而可以使用祖先組件傳遞過來的數據。代碼如下:

//child
<template>
    <div>{{appName}}</div>
</template>
<script>
export default{
    inject:['appName']
}
</script>
 
// root 
export default{
    data(){
        return {
            appName:'Test'
        }
    },
    provide:['appName']
}

“Vue中父組件怎么向子組件傳遞數據”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

乐至县| 岑溪市| 平顺县| 达孜县| 康平县| 稷山县| 井陉县| 股票| 台江县| 弥渡县| 安顺市| 称多县| 温宿县| 邵阳县| 南宁市| 公主岭市| 惠来县| 边坝县| 广南县| 城市| 清丰县| 博爱县| 抚州市| 乌兰浩特市| 襄城县| 德格县| 杨浦区| 静乐县| 怀来县| 平定县| 杭锦后旗| 扶沟县| 永德县| 水城县| 宁河县| 深水埗区| 齐齐哈尔市| 资讯| 马鞍山市| 芦溪县| 本溪市|