Vue 組件之間傳值

1、父組件向子組件傳遞數據html

在 Vue 中,能夠使用 props 向子組件傳遞數據。vue

 

子組件部分:工具

這是 header.vue 的 HTML 部分,logo 是在 data 中定義的變量。this

若是須要從父組件獲取 logo 的值,就須要使用 props: ['logo']3d

在 props 中添加了元素以後,就不須要在 data 中再添加變量了htm

 

 父組件部分:blog

在調用組件的時候,使用 v-bind 將 logo 的值綁定爲 App.vue 中定義的變量 logoMsg事件

 

而後就能將App.vue中 logoMsg 的值傳給 header.vue 了:開發

 

 

2、子組件向父組件傳遞數據get

 子組件主要經過事件傳遞數據給父組件

 

子組件部分:

 

這是 login.vue 的 HTML 部分,當<input>的值發生變化的時候,將 username 傳遞給 App.vue

首先聲明一個了方法 setUser,用 change 事件來調用 setUser

在 setUser 中,使用了 $emit 來遍歷 transferUser 事件,並返回 this.username

其中 transferUser 是一個自定義的事件,功能相似於一箇中轉,this.username 將經過這個事件傳遞給父組件 

 

父組件部分:

在父組件 App.vue 中,聲明瞭一個方法 getUser,用 transferUser 事件調用 getUser 方法,獲取到從子組件傳遞過來的參數 username

 

getUser 方法中的參數 msg 就是從子組件傳遞過來的參數 username

 

3、子組件向子組件傳遞數據

Vue 沒有直接子對子傳參的方法,建議將須要傳遞數據的子組件,都合併爲一個組件。若是必定須要子對子傳參,能夠先從傳到父組件,再傳到子組件。

爲了便於開發,Vue 推出了一個狀態管理工具 Vuex,能夠很方便實現組件之間的參數傳遞

相關文章
相關標籤/搜索