в vuex хранишь глобальное состояние приложение, т.е. данные к которым со многих компонентов требуется доступ со многих других компонентов, но тем не менее никто не отменял использование локальных данных и $emit / v-on для них
просто у меня есть глобальный App.vue там модальное окно авторизации, а внутри модального окна авторизации есть кнопка Регистрация, после нажатии на нее, открывается соответственно модальное окно регистрации.
Для каждого модального окна отдельный компонент