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