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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:16:24
字體:
來源:轉載
供稿:網友

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

一、路由傳值

路由對象如下圖所示:

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

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

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

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

二、通過$parent,$chlidren等方法調取用層級關系的組件內的數據和方法

通過下面的方法調用:

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

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

三、通過eventBus傳遞數據

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

window.eventBus = new Vue(); 

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

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

在需要接受參數的組件重,用on接受該值(或對象)

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

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

eventBus.$off('eventBusName'); 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 石门县| 周宁县| 虞城县| 香格里拉县| 台湾省| 香格里拉县| 西丰县| 佳木斯市| 邓州市| 历史| 健康| 贵港市| 江永县| 华安县| 长治市| 周至县| 远安县| 石楼县| 宜兰市| 盘锦市| 深圳市| 四平市| 诏安县| 罗山县| 盘锦市| 霍山县| 淮阳县| 青田县| 广德县| 泗水县| 宁陵县| 辽阳县| 吉木乃县| 博湖县| 翼城县| 济阳县| 丹寨县| 小金县| 绥德县| 清水县| 津南区|