深入理解Vue 組件之間傳值
一、父組件向子組件傳遞數(shù)據(jù)
在 Vue 中,可以使用props向子組件傳遞數(shù)據(jù)。
子組件部分:

這是 header.vue 的 HTML 部分,logo 是在 data 中定義的變量。
如果需要從父組件獲取 logo 的值,就需要使用props: ['logo']

在 props 中添加了元素之后,就不需要在 data 中再添加變量了
父組件部分:

在調(diào)用組件的時候,使用 v-bind 將 logo 的值綁定為 App.vue 中定義的變量 logoMsg

然后就能將App.vue中 logoMsg 的值傳給 header.vue 了:

二、子組件向父組件傳遞數(shù)據(jù)
子組件主要通過事件傳遞數(shù)據(jù)給父組件
子組件部分:

這是 login.vue 的 HTML 部分,當(dāng)<input>的值發(fā)生變化的時候,將 username 傳遞給 App.vue
首先聲明一個了方法setUser,用 change 事件來調(diào)用 setUser

在 setUser 中,使用了$emit來遍歷transferUser事件,并返回 this.username
其中transferUser是一個自定義的事件,功能類似于一個中轉(zhuǎn),this.username將通過這個事件傳遞給父組件
父組件部分:

在父組件 App.vue 中,聲明了一個方法 getUser,用 transferUser 事件調(diào)用 getUser 方法,獲取到從子組件傳遞過來的參數(shù) username

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

三、子組件向子組件傳遞數(shù)據(jù)
Vue 沒有直接子對子傳參的方法,建議將需要傳遞數(shù)據(jù)的子組件,都合并為一個組件。如果一定需要子對子傳參,可以先從傳到父組件,再傳到子組件。
為了便于開發(fā),Vue 推出了一個狀態(tài)管理工具 Vuex,可以很方便實現(xiàn)組件之間的參數(shù)傳遞
總結(jié)
以上所述是小編給大家介紹的Vue 組件之間傳值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
超詳細教程實現(xiàn)Vue底部導(dǎo)航欄TabBar
本文詳細講解了Vue實現(xiàn)TabBar底部導(dǎo)航欄的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
vue實現(xiàn)兩個組件之間數(shù)據(jù)共享和修改操作
這篇文章主要介紹了vue實現(xiàn)兩個組件之間數(shù)據(jù)共享和修改操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

