亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

vue組件中傳值EventBus的使用及注意事項說明

瀏覽:65日期:2022-10-28 11:32:58

主要想說下非父子組件之間的通信。

項目場景:

在app.vue里寫了一個公共的頂部導航navbar,然后右側有個分享按鈕,而這個分享按鈕只有在特定的頁面才展示,項目里是在lottery.vue頁面,然后想實現app.vue里點擊分享按鈕,觸發lottery.vue里的分享方法。

解決:使用eventBus

1、創建一個event-bus.js

import Vue from ’vue’

export const EventBus = new Vue()

2、在app.vue引入eventbus,點擊分享按鈕時觸發方法

import { EventBus } from ’@/tools/event-bus’ onClickRight () { EventBus.$emit(’handleLotteryShare’)}

3、在lottery.vue引入eventBus,在mounted里監聽

import { EventBus } from ’@/tools/event-bus’ mounted () { EventBus.$on(’handleLotteryShare’, () => { this.doShare() }) },

4、到此解決了。但是,但是,出bug了,每多點擊一次,分享的彈窗的蒙層顏色就更深一層。然后一頭霧水,以為是原生app里api的bug,跑去問他們,結果尷尬了,并不是,而是調了多次分享接口。

然后就發現應該跟eventBus有關,上網搜索了下,原來eventBus用完要記得解綁。加上以下代碼解決了。

created () { // 解綁bus EventBus.$off(’handleLotteryShare’)}

使用eventBus注意事項:要記得解綁啊!EventBus.$off(’handleLotteryShare’)。

補充知識:vue前端兄弟組件或任意兩個組件之間進行傳值可以使用eventbus

具體使用流程如下:

1、定義一個js文件,引入Vue

vue組件中傳值EventBus的使用及注意事項說明

2、在需要使用eventbus的組件中引入步驟1創建的js文件

vue組件中傳值EventBus的使用及注意事項說明

bus.$emit進行傳值

vue組件中傳值EventBus的使用及注意事項說明

3、在另一個組件中使用bus.$on進行接收

vue組件中傳值EventBus的使用及注意事項說明

其中,msg即為步驟2中emit攜帶的參數“123”

以上這篇vue組件中傳值EventBus的使用及注意事項說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 黄色大片一级 | 欧美黄色片在线观看 | 国产裸舞福利资源在线视频 | 欧美成人交tv免费观看 | 免费播放欧美毛片欧美a | 久久亚洲国产成人精品性色 | 午夜精品一区二区三区在线视 | 亚洲天天在线日亚洲洲精 | 污视频免费在线播放 | 国产亚洲精品第一区在线观看 | 国产精品98福利小视频 | 九九精品国产99精品 | 国产成人18黄网站在线观看网站 | 啪啪一级片 | 国产精品一区久久 | 国产人妖在线观看一区二区 | 久久国产精品高清一区二区三区 | 国内精品久久久久影院嫩草 | 91tv最新永久在线地址 | 91av麻豆| 91在线视频免费看 | 国产日产欧美精品一区二区三区 | 一级日韩 | 国产各种盗摄视频 | 成年视频在线观看免费 | 99久久免费国产精精品 | 国产免费片 | 欧美一区二区三区东南亚 | 亚洲精品 欧美 | 一级黄色片免费观看 | 中文区永久区乱码六区 | 精品美女模特在线网站 | 欧洲成人爽视频在线观看 | 777免费视频 | 三个黑人强一个女人视频 | 182tv成人午夜在线观看 | 一级爱片 | 中日韩视频在线看免费观看 | 日韩精品片| 久久国产免费观看精品 | 国产精品极品 |