公共事件總線eventBus的實質就是建立一個vue實例,經過一個空的vue實例做爲橋樑實現vue組件間的通訊。它是實現非父子組件通訊的一種解決方案。vue
用法以下:vuex
第一步:項目中建立一個js文件(我一般給它取個名字爲bus.js),引入vue,建立一個vue實例,導出這個實例,代碼以下(一共就兩行):學習
1 import Vue from 'Vue' 2 export default new Vue
1 Bus.$on('click',target => { 2 console.log(target) // 注意:發送和監聽的事件名稱必須一致,target就是獲取的數據,能夠不寫target。只要你喜歡叫什麼均可以(固然了,這必定要符合形參變量的命名規範) 3 })
1 beforeDestroy(){ 2 bus.$off('click') 3 }
總結一下,這裏只是介紹如何使用eventBus來解決非父子組件通訊,可是當項目較大較複雜時,並不適合。到那時,vuex纔是vue給咱們提供的最理想的方式。spa
注意:以上存粹是我的的理解,有不一樣觀點或者其餘建議的歡迎交流學習!code