Vue.js實(shí)戰(zhàn)之組件之間的數(shù)據(jù)傳遞
前言
Vue 的組件作用域都是孤立的,不允許在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。必須使用特定的方法才能實(shí)現(xiàn)組件之間的數(shù)據(jù)傳遞。
首先用 vue-cli 創(chuàng)建一個(gè)項(xiàng)目,其中 App.vue 是父組件,components 文件夾下都是子組件。

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

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

父組件部分:

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

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

二、子組件向父組件傳遞數(shù)據(jù)
子組件主要通過事件傳遞數(shù)據(jù)給父組件
子組件部分:
這是 login.vue 的 HTML 部分,當(dāng)<input>的值發(fā)生變化的時(shí)候,將 username 傳遞給 App.vue
首先聲明一個(gè)了方法 setUser,用 change 事件來調(diào)用 setUser

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

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

三、子組件向子組件傳遞數(shù)據(jù)
Vue 沒有直接子對(duì)子傳參的方法,建議將需要傳遞數(shù)據(jù)的子組件,都合并為一個(gè)組件。如果一定需要子對(duì)子傳參,可以先從傳到父組件,再傳到子組件。
為了便于開發(fā),Vue 推出了一個(gè)狀態(tài)管理工具Vuex,可以很方便實(shí)現(xiàn)組件之間的參數(shù)傳遞
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
vue實(shí)現(xiàn)動(dòng)態(tài)面包屑導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)動(dòng)態(tài)面包屑導(dǎo)航的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
vue項(xiàng)目中圖片選擇路徑位置static或assets的區(qū)別及說明
這篇文章主要介紹了vue項(xiàng)目中圖片選擇路徑位置static或assets的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
關(guān)于vue.js彈窗組件的知識(shí)點(diǎn)總結(jié)
最近在開發(fā)過程對(duì)對(duì)于組件化的開發(fā)有一些感想,于是開始記錄下這些。彈窗組件一直是 web 開發(fā)中必備的,使用頻率相當(dāng)高,最常見的莫過于 alert,confirm和prompt這些,不同的組件庫(kù)對(duì)于彈窗的處理也是不一樣的,下面來一起看看吧。2016-09-09
Vue中Mustache插值語(yǔ)法與v-bind指令詳解
在Vue中通過Mustache語(yǔ)法(雙大括號(hào))將data中的文本數(shù)據(jù)插入到HTML中,下面這篇文章主要給大家介紹了關(guān)于Vue中Mustache插值語(yǔ)法與v-bind指令的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
vue項(xiàng)目引入本地bootstrap不生效問題及解決
這篇文章主要介紹了vue項(xiàng)目引入本地bootstrap不生效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
詳解如何去除vue項(xiàng)目中的#——History模式
這篇文章主要介紹了詳解如何去除vue項(xiàng)目中的#——History模式 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10

