Я думал, что понял правильный способ загрузки данных начального состояния из Vuex в локальные данные компонента, но почему это дает мне «[vuex] не изменяет состояние хранилища vuex вне обработчиков мутаций». ошибки! Я использую обработчик мутации!
Я хочу, чтобы данные моих компонентов начинались пустыми, если только они не возвращаются с определенной страницы (тогда он должен получать некоторые значения из Vuex).
Компонент использует v-model=“selected”
на нескольких флажках. Тогда у меня есть следующее:
// Template
<grid-leaders
v-if="selected.regions.length"
v-model="selected"
/>
// Script
export default {
data() {
return {
selectedProxy: {
regions: [],
parties: [],
},
}
},
computed: {
selected: {
get() {
return this.selectedProxy
},
set(newVal) {
this.selectedProxy = newVal
// If I remove this next line, it works fine.
this.$store.commit("SET_LEADER_REGIONS", newVal)
},
},
},
mounted() {
// Restore saved selections if coming back from a specific page
if (this.$store.state.referrer.name == "leaders-detail") {
this.selectedProxy = {...this.$store.state.leaderRegions }
}
}
}
// Store mutation
SET_LEADER_REGIONS(state, object) {
state.leaderRegions = object
}