国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

Vue3使用mitt進行組件通信的步驟

瀏覽:82日期:2022-09-30 11:02:41
Vue2.x使用EventBus進行組件通信,而Vue3.x推薦使用mitt.js。 比起Vue實例上的EventBus,mitt.js好在哪里呢?首先它足夠小,僅有200bytes,其次支持全部事件的監聽和批量移除,它還不依賴Vue實例,所以可以跨框架使用,React或者Vue,甚至jQuery項目都能使用同一套庫。1. 安裝

推薦使用yarn安裝(用過都知道有多絲滑)

yarn add mitt

或者通過npm安裝

npm install --save mitt2. 引入到項目并掛載

可以在main.js掛載到全局

// 標準的ES模塊化引入方式import mitt from ’mitt’const app = createApp(App)// vue3.x的全局實例,要掛載在config.globalProperties上app.config.globalProperties.$EventBus = new mitt()

/common/EventBus.js:也可以封裝一個ES模塊,對外暴露一個Mitt實例

import mitt from ’mitt’export default new mitt()

/views/Home.vue:業務模塊引入來使用

import EventBus from ’/common/EventBus.js’3. 使用

通過on監聽/emit觸發

/* * App.vue */// setup中沒有this,需要通過getCurrentInstance來獲取Vue實例import { getCurrentInstance } from ’vue’import { Mp3Player } from ’/common/Mp3Player.js’export default { setup(){ // ctx等同于Vue2.x的this const { ctx } = getCurrentInstance()// 監聽-如果有新任務則播放音效 ctx.$EventBus.on(’newTask’, data => { Mp3Player.play() }) // 也可以通過*監聽所有任務 ctx.$EventBus.on(’*’, data => { console.log(’EventBus come in’, data) }) }}/* * Control.vue */// 判斷有新任務時,觸發ctx.$EventBus.emit(’newTask’, data)

off移除事件

import { onBeforeUnmount, getCurrentInstance } from ’vue’export default { setup(){ const { ctx } = getCurrentInstance() onBeforeUnmount(() => { // 移除指定事件 ctx.$EventBus.off(’newTask’) // 移除全部事件 ctx.$EventBus.all.clear() }) }}

以上就是Vue3使用mitt進行組件通信的步驟的詳細內容,更多關于Vue3 用mitt進行組件通信的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 亚洲高清免费观看 | 亚洲精品天堂一区 | 日本不卡免费高清视频 | 国产一区二区三区在线视频 | 免费视频 久久久 | 9191精品国产免费不久久 | 国产高清在线精品一区 | 天堂一区二区在线观看 | 全黄性高视频 | 精品欧美一区二区在线观看欧美熟 | 成人a毛片高清视频 | 一级伦理电线在2019 | 国产午夜伦伦伦午夜伦 | 九九热国产精品视频 | 贵州美女一级纯黄大片 | 神马午夜不卡 | 手机看片国产 | 国产亚洲精品久久精品6 | 国产一级免费片 | 亚洲精品综合欧美一区二区三区 | 亚洲精品久久99久久一区 | 乱子伦一级在线现看 | 一区二区三区不卡视频 | 国产精品黄页网站在线播放免费 | 日韩成人中文字幕 | 美女黄视频免费观看 | 99在线视频精品 | 成人怡红院视频在线观看 | 国内精品久久久久久中文字幕 | 免费一级毛片在线播放放视频 | 国产美女做爰免费视 | 一级毛片区 | 欧美88| 96精品视频在线播放免费观看 | 久免费视频 | 男女国产 | 成人性毛片 | 男人女人做刺激视频免费 | 一级一级毛片免费播放 | 欧美理论在线 | 日韩精品免费看 |