Comments 10
Рендерить jQuery с помощью Vue?)
Я правильно понял, что вы не захотели подключать сторонние библиотеки, но подключили бутстрап и jquery, чтобы написать свой код?
— jquery + $refs
— модалка заменит содержимое текущей страницы в router-view, а не просто отрендерится поверх
— переиспользовать невозможно, где хотя бы слоты для контента?
— перезагрузка страницы на урле модалки при закрытии куда юзера кинет?
- var в 2019 году — да, представляете какой я старый?!) На самом деле Вы действительно считаете это критичным?;
- jquery + $refs — в статье отмечено, что это лишь пример реализации. В ваших проектах, наверняка, используются другие kit-ы;
- модалка заменит содержимое текущей страницы в router-view, а не просто отрендерится поверх — Вы пример-то смотрели?;
- переиспользовать невозможно, где хотя бы слоты для контента — в моей задумке ( каждое отдельное окно — это отдельный уникальный компонент со своей логикой, кодом и структурой. Мне видится, что «переиспользовать» здесь ни к месту;
- перезагрузка страницы на урле модалки при закрытии куда юзера кинет? — Вы пример смотрели?
Считаю, объективней было бы с вашей стороны сделать свою улучшенную реализацию и поделиться ею в комментах.
В чём проблема с тем чтобы привязать модальное окно к модулю Vuex и использовать middleware роутера?
Вешать логику роутера на модальное окно — это грубое наршение SRP. Появилась ненужная связь модального окна и роутера, такой код будет невозможно поддерживать.
Использование Vuex избавит вас от глобальных переменных и позволит более гибко контролировать поведение модального окна.
Вам правильно подсказали что такой подход будет перезагружать страницу. У вас на начальной странице ничего нет. Попробуйте добавить туда что-нибудь и увидите как при каждом закрытии окна весь контент рендрится заново. (пример: https://jsfiddle.net/uyqmL7ro/)
Возвращать на шаг назад в истории — так себе решение. А если я по внешней ссылке перешёл?
VueJs + VueRouter + modal. Очередной велосипед