溫馨提示×

溫馨提示×

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

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

Vue父子組件通信

發(fā)布時間:2020-08-01 11:41:03 來源:網(wǎng)絡(luò) 閱讀:276 作者:喝醉的熊 欄目:web開發(fā)

我們在開發(fā)過程中,不可能只在一個組件里面寫東西,當(dāng)一個組件的內(nèi)容過多時候,我們會把各個塊的內(nèi)容分別作為一個單獨(dú)的組件分離出去,這些分離出去的組件被叫做子組件,但是一般請求數(shù)據(jù)的話還是在父組件(最大的外層中)鐘情求,這就要求我們要將父組件中的數(shù)據(jù)傳給各個子組件,子組件才能通過v-for指令進(jìn)行遍歷,遍歷之后再通過item將數(shù)據(jù)傳給比自己更小的子組件,這樣以此類推,最后的小組件再來展示數(shù)據(jù),組件開發(fā)中不可能因為某個小組件而單獨(dú)發(fā)一次請求,這就需要用到組件之間的通信

通常情況下子組件是不能直接訪問父組件或者Vue實例中的數(shù)據(jù)的,但是在開發(fā)中,往往有一些數(shù)據(jù)確實需要從上層傳遞到下層:比如在一個頁面中,我們從服務(wù)器請求到了很多數(shù)據(jù),其中一部分?jǐn)?shù)據(jù)并非使我們整個大頁面組件來展示的,而是需要下面的子組件進(jìn)行展示,這個時候并不會讓子組件再次發(fā)送一次網(wǎng)絡(luò)請求,而是直接讓大組件(父組件)將數(shù)據(jù)傳遞給小組件(子組件)

官方給出的方法
父組件通過props給子組件傳遞數(shù)據(jù)
<子組件標(biāo)簽 :子組件的props屬性 = "父組件的data變量" /> </子組件標(biāo)簽>
子組件通過自定義事件給父組件發(fā)送消息

Vue父子組件通信

Vue父子組件通信

真實開發(fā)中 ,Vue實例和子組件的通信 與 父組件和子組件的通信過程是一樣的vue實例本身可以看做父組件
子組件中props的數(shù)據(jù)驗證
在子組件中 props可以是數(shù)組,也可以是對象,當(dāng)需要對props進(jìn)行類型驗證時,就需要使用對象語法了,對象的好處的是可以指定必須傳過來的數(shù)據(jù)類型,在開發(fā)中很少用數(shù)組的寫法

   //props: ['cmovies', 'cmessage'],
                props:{
                    //1.類型限制
                    // cmovies:Array,
                    // cmessage:String,
                    //2.提供默認(rèn)值  以及必傳值
                    cmovies:{
                        type:Array,
                        default(){
                         return []
                        }
                    },
                    cmessage:{
                        type:String,
                        default:"xiaosaobi",
                        required:true
                    }
                },
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI