У меня есть компонент, который обновляет состояние в Vuex, и я вижу через инструменты vue dev, что состояние vuex изменяется, однако, когда я пытаюсь выполнить некоторую логику, когда состояние изменяется через наблюдателей, привязанных к mapGetters или mapState, в Vuex это делаетне работает вообще.код из vuex:
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
companyDetails: {},
//date: "",
showSearchForm: false,
consumptionData: {
dateTo: new Date(),
dateFrom: new Date(new Date().setDate(new Date().getDate() - 7))
}
},
getters: {
getConsumptionData(state) {
return state.consumptionData;
}
},.....
Код для наблюдателя и вычисляемое свойство, которое получает данные из Vuex с помощью кода с комментариями MapState или MapGetters, означает, что я опробовал все эти параметры
computed: {
// need to ask about reactiveness
// ...mapGetters({
// consumptionDataVuex: "getConsumptionData"
// })
// ...mapState({
// consumptionDataVuex: "ConsumptionData"
// })
consumptionDataVuex () {
return this.$store.getters.getConsumptionData;
}
},
watch: {
consumptionDataVuex() {
console.log("changed");
this.getConsumption();
}
},.....
это только код, который синхронно получает данные из vuex, это
created() {
//console.log(this.parentData);
this.$store.watch(
(state)=>{
return this.$store.state.consumptionData // could also put a Getter here
},
(newValue, oldValue)=>{
//something changed do something
console.log(oldValue)
console.log(newValue)
this.getConsumption();
},
//Optional Deep if you need it
{
deep:true
}
)
},
Итак, я не понимаю, почему приведенный выше код не может получать обновления из состояния, в то время как код в созданном Hook делает?Многие примеры в интернете доказывают, что это должно работать