有時(shí)候非父子關(guān)系的組件也需要通信。在簡(jiǎn)單的場(chǎng)景下,使用一個(gè)空的Vue實(shí)例作為中央事件總線(xiàn):
創(chuàng)新互聯(lián)從2013年成立,先為湖北等服務(wù)建站,湖北等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為湖北企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
var bus = new Vue() // 觸發(fā)組件 A 中的事件 bus.$emit('id-selected', 1) // 在組件 B 創(chuàng)建的鉤子中監(jiān)聽(tīng)事件 bus.$on('id-selected', function (id) { // ... })
在更多復(fù)雜的情況下,你應(yīng)該考慮使用專(zhuān)門(mén)的 狀態(tài)管理模式.就是用到了vuex
eventBus是作為兄弟關(guān)系的組件之間的通訊中介。
代碼示例:
eventBus todo app
效果圖如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。