vue 元件之間通訊eventBus使用方法
eventBus使用場景: 兄弟元件之間通訊
例如有三個元件mainContent, main, head。main元件和head元件在mainContentl裡面平級為兄弟元件。
head元件裡面有一個輸入框點選搜尋的時候跳轉到main元件並且要帶引數過去,這個時候main元件可以在created或者mounted裡面獲取路由引數進行請求介面。
那麼當我們停留在main元件的時候 再次修改了查詢條件點選搜尋 , 這個時候main元件就無法再次請求介面了 , 因為main元件沒有重新載入 , 不會再次觸發created和mounted方法。接下來就要用到eventBus
- 建立eventBus
import Vue from 'vue';
const eventBus = new Vue()
export { eventBus }
- 在使用的元件頁面裡進行引入
import {eventBus} from '@/utils/eventBus.js'
- 在head元件中點選搜尋使用eventBus觸發事件
search(){
//觸發事件
eventBus.$emit('search',{keyWord:this.keyWord,searchType:this.select})
}
- 在main元件裡面使用mounted呼叫eventBus監聽該事件
//監聽事件
mounted(){
eventBus.$on('search',(data) => {
this.keyWord = data.keyWord;
this.select = data.searchType;
this.search('search')
})
},
這樣每次點選都會通過eventBus進行監聽
注意在main元件銷燬前記得關閉監聽 , 不然頁面沒有重新整理當你切換到其它元件頁面在切換到搜尋元件頁就會重複進行監聽,會執行多次事件
//關閉監聽
beforeDestroy(){
eventBus.$off("search");
},
相關文章
- Vue元件通訊中eventBus的使用Vue元件
- vue元件之間的通訊Vue元件
- vue中兄弟之間元件通訊Vue元件
- Vue子元件與父元件之間的通訊Vue元件
- Vue 元件間的通訊Vue元件
- Vue元件間的通訊Vue元件
- Vue元件之間通訊的三種方式Vue元件
- 深入解析Vue元件間通訊Vue元件
- Vue 元件間的通訊方式Vue元件
- vue中元件間的通訊Vue元件
- 3.Vue非父子元件之間的通訊Vue元件
- 父子元件之間通訊元件
- Vue 元件間通訊方法彙總Vue元件
- Vue 元件間的傳值(通訊)Vue元件
- Vue2.0父子元件間通訊Vue元件
- Vue中元件間通訊的方式Vue元件
- 聊聊 Vue.js 元件間通訊Vue.js元件
- vue元件通訊之propsVue元件
- Vue 基礎篇(一):Vue元件間通訊Vue元件
- webRtc及元件之間通訊Web元件
- React - 元件之間的通訊React元件
- Android 框架煉成 教你如何寫元件間通訊框架EventBusAndroid框架元件
- Vue2 元件間通訊全方案Vue元件
- 前端面試 vue 部分 (5)——VUE元件之間通訊的方式有哪些前端面試Vue元件
- vue元件通訊Vue元件
- vue 元件通訊Vue元件
- Vue — 元件通訊Vue元件
- 元件之間的通訊LiveDataBus元件LiveData
- 158-vue04-元件&元件間通訊&插槽Vue元件
- VUE 元件間通訊---單向資料流Vue元件
- React之元件(component)之間的通訊React元件
- vue工程利用pubsub-js實現兄弟元件之間的通訊VueJS元件
- Vue元件之間的資料傳遞(通訊、互動)詳解Vue元件
- vue2.0 非父子元件之間的單一事件通訊Vue元件事件
- React中元件之間通訊的方式React元件
- Vue元件通訊方式Vue元件
- vue 父子元件通訊Vue元件
- vue常用元件通訊Vue元件