art5455
@art5455
Каюсь, задавал тупые вопросы, но господи... с каки

Как принудительно обновить Store в Vuex?

После изменения состояния, я должен обнулить один стейт:
this.$store.commit('clients/SET_CURRENT_CLIENT', ID); // Изменить стейт
	this.$store.commit('budget/SET_SETTING', {setting: "dealerShipId", value: 0}); // Обнулить настройку

Потом ловлю изменение и вызываю колбек
this.$store.watch(
			(state) => {
				return state.budget.settings
			},
			() => {
				this.$store.dispatch('budget/GET')
			},
			{
	      		deep:true
	    	}
		)

Проблема в том что состояние настройки может быть уже равно 0 и изменение не поймается, как принудительно обновить состояние?
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
deep:true

Ну раз вы за объектом следите - заменяйте его полностью.

Т.е., вместо obj[key] = val делайте obj = { ...obj, [key]: val }.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Вся логика построена на том, чтобы сократить лишние бесполезные вызовы. Если тебе нужно принудительно обновить - принудительно обновляй руками.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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