為什么要放棄Vue中的EventBus(有一種Angular1.0 的感覺,到處watch)
- 場景:event的觸發(fā)emit,監(jiān)聽處理on,除了寫在標(biāo)簽上的@click等,當(dāng)沒有標(biāo)簽時(shí)并且要觸發(fā)一系列散落在不同組件內(nèi)的操作時(shí),除了bus還可以借助store,(當(dāng)然還可以各種watch,用一些策略模式,observer,發(fā)布訂閱模式之類的)
消除eventBus亂象,消除策略模式,就是注冊到一個(gè)統(tǒng)一的容器里(可以是外層,可以是上層),以達(dá)到更高的封裝性,解耦
EventBus: 特點(diǎn)
- 有先后順序的
- 異步的
- 沒有辦法關(guān)閉某一對emit-on,一關(guān)全關(guān)了
- 亂,沒有集中管理,散落在各個(gè)組件里,難以尋覓
注冊到store里:
- 默認(rèn)是同步的,使用回調(diào)或者await處理異步
- 有集中管理,都掛在state上