91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

莆田市| 报价| 蕲春县| 丰顺县| 江油市| 广水市| 巩义市| 武强县| 娱乐| 高州市| 交口县| 翁牛特旗| 连平县| 同仁县| 惠水县| 勃利县| 龙州县| 柏乡县| 临安市| 广饶县| 略阳县| 黄骅市| 南平市| 吉水县| 南乐县| 邵东县| 安塞县| 安龙县| 西贡区| 改则县| 凤庆县| 平果县| 桐柏县| 博客| 赤壁市| 沭阳县| 城市| 株洲县| 额济纳旗| 乃东县| 阜阳市|