Я очень новичок в Vuex и пытаюсь присвоить значение состоянию Vuex, (state.map.status.isReady
для этого).
Однако я хочу сделать свой код многоразовым, поэтому я создалфункция changeMapStatus(state, key, value)
для достижения этого.
Эта функция изменяет полученное свойство state.map.status.key
до value
.
Однако, когда я вызываю мутацию с this.$store.commit('changeMapStatus', 'isReady', true)
изфайл компонента, он просто удаляет state.map.status.isReady
, и это свойство становится undefined
.
С другой стороны, если я изменяю функцию на
changeMapStatus(state, value) {
state.map.status.isReady = value;
}
, это как-то работает.
Можете ли вы помочь мне, в какой момент я ошибаюсь?
Большое спасибо!
store.js (Vuex)
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
map: {
status: {
isReady: false,
},
},
},
mutations: {
changeMapStatus(state, key, value) {
state.map.status[key] = value;
}
},
});