Vue 2.0中提供了一種名為“Bus”的全局事件分發機制,使不同組件之間的通信變得更加方便。
在Vue的實例對象中,有一個特殊的屬性$bus,它是一個全局Vue實例,可以通過它來創建通信管道。
// 創建管道 const bus = new Vue() // 發送事件 bus.$emit('event-name', data) // 接收事件 bus.$on('event-name', (data) =>{ // 處理數據 })
上面的代碼演示了如何創建一個通信管道,并通過$emit方法向管道內的所有監聽器發送事件,利用$on方法監聽事件并接收數據。
另外,$bus還提供了一些其他方法,比如$once只監聽一次事件,$off取消事件監聽等。
// 只監聽一次 bus.$once('event-name', handler) // 取消監聽 bus.$off('event-name', handler)
在Vue中,通過通信管道實現組件間的通信是一個常見的方式。而Bus作為全局事件分發機制,可以方便地實現跨組件通信,極大地方便了開發。
上一篇mysql語句的使用方法
下一篇html字體自帶加粗代碼