前言
成都創新互聯公司長期為成百上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為雁峰企業提供專業的做網站、成都網站設計,雁峰網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。
大家應該都知道,vue2中廢棄了$dispatch和$broadcast廣播和分發事件的方法。父子組件中可以用props和$emit()。如何實現非父子組件間的通信,可以通過實例一個vue實例Bus作為媒介,要相互通信的兄弟組件之中,都引入Bus,然后通過分別調用Bus事件觸發和監聽來實現通信和參數傳遞。下面話不多說了,來一起看看詳細的介紹吧。
Bus.js可以是這樣
import Vue from 'vue' export default new Vue()
在需要通信的組件都引入Bus.js
import Bus from '../common/js/bus.js'
添加一個button,點擊后$emit一個事件
<button @click="toBus">子組件傳給兄弟組件</button>
methods
methods: { toBus () { Bus.$emit('on', '來自兄弟組件') } }
另一個組件也import Bus.js 在鉤子函數中監聽on事件
import Bus from '../common/js/bus.js' export default { data() { return { message: '' } }, mounted() { Bus.$on('on', (msg) => { this.message = msg }) } }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對創新互聯的支持。
分享題目:vue2利用Bus.js如何實現非父子組件通信詳解
文章起源:http://vcdvsql.cn/article10/pocogo.html
成都網站建設公司_創新互聯,為您提供網站制作、標簽優化、企業網站制作、網站設計、企業建站、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯