PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как правильно менять данные в store?

Здравствуйте
у меня есть store (их много) для разных блоков на разных страницах сайта
в store хранится информация в зависимости от параметра, у моем случае города

например на главной странице у меня список популярных товаров (/store/popular.js)
на это же у меня список отзывов (/store/reviews.js)
...
...
все эти данные привязаны к городу, который выбрал человек на сайте
и есть, соответсвенно, в шапке сайта, кнопка смены города

страниц на сайте много почти везде свой store

вопрос
человек зашел на главную - нажал смену города
как мне правильно "пушить событие" чтобы все store которые сейчас используются, те которые есть на текущей странице, взяли себе новую информацию от только что установленного города?

выбор город у меня в компоненте (модальное окно) и оно вызывается в шаблоне (layouts)

проблема в том что, если клиент нажмет смену города на главной странице - я заменяю щас руками store (те вызываю мутации с новым параметром города, который тоже в store хранится) и вызываю я поочередно все store который используются на главной

а если клиент будет на странице "блог", то мне нужно как-то понять какой store сейчас используется в представлении и заменить не "отзывы" или "популярные", а задиспатчить только store с блогом,
но как мне это понять(что обновлять а что можно не обновлять)? какой алгоритм?

те у меня куча страниц, везде свои store и компоненты, а город сменить (поменять index store) можно на любой странице и после его смены контент на странице (текущей) должен поменяться, а при переходе по другим уже нет проблем так как fetch уже ищет с новым city_id не находит и подгружает (но вот как понять какая страница сейчас, какие store она используется и как их обновить?)
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
PankovAlxndr
@PankovAlxndr Автор вопроса
Fullstack web developer
сделал через eventBus
компонент смены города генерирует событие глобальное в this.$nuxt

в по всем компонентам развесил слушатель
который при создании навешивается (и внутри вызывается actions активных store)
при раз разрушении убирается

работает как мне надо - моментально меняется только нужный стор

единственное что генерить такие события - мувитон
и повтор кода в компонентах (навешивание и удаление слушается события)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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