Generally, Vuex or Global state is only necessary when children of different parents need to access the same data. For example authentication is a good one to have in global state if the application has more than one branch.
Using the event bus is effective but once the application grows to a certain point, it can become convoluted and difficult to understand where the data is flowing to which components.
One should be diligent in determining what data actually needs to be global because there is a price to pay with overhead.
I understand your resistance, globals are ugly, however many developers choose to use Global state management so that it is there need be.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…