搜尋

首頁  >  問答  >  主體

javascript - vuex如何更優雅地用於派發事件?

之前一直用new Vue()來定義一個全域通訊的Bus,這樣元件之間通訊,只需要一邊emit,另一邊on監聽就可以了。後來改用vuex,感覺上vuex理解上只是一個全域data,當需要派發事件的時候:例如A元件的一個事件,去觸發B元件的一個方法(比如說,點擊某個按鈕,取消一個計時器等) ,這時候vuex就顯得很雞肋了,我現在用的方法是,定義一個布林值,每次觸發時,取false,然後在元件內watch這個值,呼叫方法。

如圖:

#然後監聽:

#請問大家有好一點的方法嗎?

黄舟黄舟2821 天前781

全部回覆(3)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:41:29

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:41:29

    這個用vuex不是挺好的嗎?怎麼會顯得雞肋?類似這種,用loginSuccess來控制是否顯示使用者頭像,這樣,我覺得用的還是挺愉快的

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:41:29

    一、只是想通知某個物件去更改狀態,建議使用事件的方式
    1.父子元件之間的事件通訊,透過在父元件監聽對應的事件名,子元件觸發的方式。
    2.非父子組件採用Event Bus的方式

    二、資料在組件之間的共享
    1.中大型應用使用vuex
    2.應用場景比較少的情況,父子組件採用props,非父子組件Event Bus傳遞數據

    回覆
    0
  • 取消回覆