@Help_heeelp

Как передавать данные между компонентами vue на основе роутов laravel?

Существует страница, которая на основе маршрута laravel просто отрисовывает вьюху (метод из контроллера /books), в которой подтягивает vue-компонент. В этом vue-компоненте при mounted реализован стартовый запрос к базе книг (без фильтров) и возможность вызывать этот же самый запрос, но уже с параметрами (т.е. фильтрами) через axios, при этом этот запрос имеет иной маршрут (/books/load_all_books). При выводе данных на страницу к каждой отдельной книге, которые определены по маршруту (/books/{url}) привязывается ссылка, ведущая на маршрут лары, где так же отрисовывается вьюха и извлекаются данные из бд, которые потом передаются через props в компонент уже на странице непосредственно самой книги. При этом на каждой странице книги отображаются её жанры, к каждому из которых должна быть привязана ссылка, ведущая непосредственно на страницу отображения всех книг, но при этом с переданным параметром (Как пример, у книги есть жанр "приключения", я его отображаю на странице книги и хочу добавить ему ссылку, которая позволит при клике вернуться на предыдущую страницу всех книги вместе с этим самым параметром).

Соответственно: как реализовать подобную штуку? Я понимаю как это сделать в лоб, например, делать условный return на сам метод (/books), т.е возвращать view при первой загрузке и json и при последующих, но, как по мне, это странное решение, уверен, есть более адекватные подходы, поэтому я и разбил подтягивание вьюхи и сам запрос на разные маршруты. Попробовал через vuex, но по сути 0 импакта, так как его хранилище ставится в дефолт при каждом обновлении страницы, а поскольку маршруты разные, то я в принципе не могу не обновлять страницу, возможно, на чистом вью это и можно реализовать, но хотелось бы попробовать при помощи laravel.
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 2
toratoda
@toratoda
не гоже через ссылки таскать параметр по всему сайту. Положи его в куку или локальное хранилище и извлеки когда потребуется.
Ответ написан
pLavrenov
@pLavrenov
Разработка сайтов
Для этого есть Vuex и vuex-persist
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы