I don't know how I'm only just realizing this but since this.$root
is a Vue instance you can use it as an eventbus to communicate between components. Before today, I'd been manually creating every single eventbus I've ever used, when I did not have to, thanks to an eventbus tutorial I read years ago.
What I was doing:
// eventbus.js
export default new Vue({});
// main.js
import eventbus from "../utils/eventbus"
Vue.prototype.$eventbus = eventbus;
// Banks.vue
this.$eventbus.$on('token-set', this.getBanks);
this.$eventbus.$emit('token-set');
What I'm doing and what you should be doing:
// Banks.vue
this.$root.$on('token-set', this.getBanks);
this.$root.$emit('token-set');
Hopefully this prevents you from losing several minutes of your precious time on earth to unnecessarily manually implementing an eventbus. 😂