国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue.js實戰(zhàn)之組件之間的數(shù)據(jù)傳遞

2019-11-19 16:57:00
字體:
供稿:網(wǎng)友

前言

Vue 的組件作用域都是孤立的,不允許在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。必須使用特定的方法才能實現(xiàn)組件之間的數(shù)據(jù)傳遞。

首先用 vue-cli 創(chuàng)建一個項目,其中 App.vue 是父組件,components 文件夾下都是子組件。


一、父組件向子組件傳遞數(shù)據(jù)

在 Vue 中,可以使用 props 向子組件傳遞數(shù)據(jù)。

子組件部分:

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

如果需要從父組件獲取 logo 的值,就需要使用 props: ['logo']

父組件部分:

在調(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é)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐平市| 攀枝花市| 盘锦市| 博野县| 灯塔市| 长寿区| 达孜县| 邮箱| 德阳市| 陆川县| 什邡市| 固阳县| 阳谷县| 临武县| 张掖市| 册亨县| 永嘉县| 志丹县| 犍为县| 岢岚县| 天峻县| 扬中市| 慈溪市| 岢岚县| 佛冈县| 顺昌县| 盐池县| 邮箱| 称多县| 疏勒县| 峨山| 方城县| 灌阳县| 武乡县| 徐汇区| 吉木萨尔县| 河间市| 静宁县| 呼玛县| 监利县| 天峻县|