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

首頁 > 編程 > JavaScript > 正文

詳解vuejs幾種不同組件(頁面)間傳值的方式

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

在應用復雜時,推薦使用vue官網(wǎng)推薦的vuex,以下討論簡單SPA中的組件間傳值。

一、路由傳值

路由對象如下圖所示:

在跳轉(zhuǎn)頁面的時候,在js代碼中的操作如下,在標簽中使用<router-link>標簽

this.$router.push({            name: 'routePage',            query/params: {              routeParams: params            }          }) 

需要注意的是,實用params去傳值的時候,在頁面刷新時,參數(shù)會消失,用query則不會有這個問題。

這樣使用起來很方便,但url會變得很長,而且如果不是使用路由跳轉(zhuǎn)的界面無法使用。

二、通過$parent,$chlidren等方法調(diào)取用層級關(guān)系的組件內(nèi)的數(shù)據(jù)和方法

通過下面的方法調(diào)用:

this.$parent.$data.id //獲取父元素data中的idthis.$children.$data.id //獲取父元素data中的id 

這樣用起來比較靈活,但是容易造成代碼耦合性太強,導致維護困難

三、通過eventBus傳遞數(shù)據(jù)

使用前可以在全局定義一個eventBus

window.eventBus = new Vue(); 

在需要傳遞參數(shù)的組件中,定義一個emit發(fā)送需要傳遞的值,鍵名可以自己定義(可以為對象)

eventBus.$emit('eventBusName', id); 

在需要接受參數(shù)的組件重,用on接受該值(或?qū)ο螅?/p>

//val即為傳遞過來的值eventBus.$on('eventBusName', function(val) {console.log(val)}) 

最后記住要在beforeDestroy()中關(guān)閉這個eventBus

eventBus.$off('eventBusName'); 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沙坪坝区| 罗山县| 邹城市| 民勤县| 廉江市| 梓潼县| 伊吾县| 丰县| 孟连| 安丘市| 萝北县| 墨竹工卡县| 香港| 乌什县| 易门县| 巢湖市| 麦盖提县| 河北省| 东海县| 鹤峰县| 元朗区| 德令哈市| 无极县| 铜川市| 渝北区| 武陟县| 邵东县| 铜鼓县| 泰州市| 乌苏市| 荆州市| 广水市| 巩留县| 通道| 姜堰市| 钟祥市| 松江区| 寻乌县| 河南省| 华容县| 河间市|