@alenov
Программист

Как в Vue настроить слежение за переменной из Vuex.store?

Есть два компонента- A и B. Мне нужно, чтобы когда компонент А сделал изменение в store, компонент B об этом узнал и выполнил какую-нибудь функцию.
Пытался в B приладить для этого watch, но не сообразил, как это сделать. Можно конечно из B периодически опрашивать store. Может, есть другой, нативный способ?
  • Вопрос задан
  • 1016 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
watch работает. например:
watch: {
  '$store.state.module.var': function () { /* ... */ }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@SteveenGer
Если необходимо просто следить за изменением, то getters. В компонент В импортируем их import { mapGetters } from "vuex"

в computed используем
computed: {
...mapGetters('nameModule', ['nameGetter'])
}


и потом в методах пишете что хотите сделать, если изменяются данные.
Ответ написан
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Пытался в B приладить для этого watch, но не сообразил, как это сделать

Как в документации написано - так и сделать. Вы бы хоть показали что у вас там не получается.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы