自學Vue必看的父子元件通訊(一)

2021-10-04 13:29:52 字數 1774 閱讀 8909

有可能在乙個頁面中,我們從伺服器請求到了很多資料,其中一部分的資料並非是在我們的大元件中展示的,而是需要在其子元件進行展示。但是子元件並不會再次傳送乙個網路請求(傳送請求對伺服器壓力大),而是直接將父元件中的資料傳遞給子元件

注意:在開發中,vue例項和子元件的通訊和父元件與子元件的通訊過程是一樣的,所以以下示例通過vue例項和子元件的通訊來解釋說明

通過props(properties)向子元件傳遞資料,使用props來宣告需要從父元件那裡接收的資料,這裡介紹兩種方式

第一種方式是使用字串陣列,陣列中的字串就是傳遞時的名稱(子元件中的變數名)

注意:

(1)一定要使用v-bind繫結父元件中的變數

(2)不使用v-bind,會將message、books當作乙個字串

(3)具體步驟看注釋

>

"books" cmessage=

"message"

>

<

/cpn>

//父傳子

"books"

:cmessage=

"message"

>

<

/cpn>

<

/div>

//模板

"cpn"

>

for=

"item in book"

>

}<

/li>

<

/ul>

}<

/h2>

<

/div>

<

/template>

"../vue.js"

>

<

/script>

const cpn =

//父元件

newvue(,

//子元件

components:})

<

/script>

<

/body>

第一種方式是使用物件,物件可以設定傳遞時的型別,也可以設定預設值,還有是否必傳等。

注意:

(1)提供預設值只有在元件中沒有使用v-bind繫結父元件中的值時,顯示預設值

(2) 高版本vue中型別是物件或函式時,預設值必須是乙個函式

(3)require為true時,父元件必須向子元件傳值(使用v-bind),否則報錯

型別限制

const cpn =

}

提供預設值

使用default,當沒有使用v-bind繫結父元件中的值時,顯示預設值

const cpn =

cmessage:

}

是否必傳

使用require(布林型),為true表示父元件必須向子元件傳的值,若沒有傳,則會報錯

const cpn =

}

Vue父子元件通訊

1.父與子通訊,通過屬性傳遞值,如下 lang zh cn charset utf 8 src js vue.js script title head id example p parent div type text x template id parenttpl 這是父元件h1 name zha...

vue父子元件通訊

一 父元件利用props往子元件傳輸資料 父元件 注意傳遞引數時要用 代替駝峰命名,html不區分大小寫 子元件 vue.component child template 二 子元件向父元件傳遞引數利用事件機制 子元件通過this.emit 派發事件,父元件利用v on對事件進行監聽,實現引數的傳遞...

Vue父子元件通訊

抓住幾個語義特點就可以了。子元件要接收父元件傳過來的內容,需要引入props,也就是說有props就是子元件 以下是子元件的內容 p div template export default script 父元件需要往子元件傳入引數,則某個部分要和引數post對應,即 v bind post post...