我有一個Vuex Store
需要根據應用程序中的一些更改重置變量的地方,所以我使用的是這樣的東西,一切都按預期工作:
const getDefaultState = () => {
return {
showModal: false,
nodeCounter:0,
nodeInfo: [],
}
}
export const state = () => getDefaultState()
export const mutations = {
resetState (state) {
// Reset all state variables to its default value for next node
Object.assign(state, getDefaultState())
},
}
但是,根據新要求,我不希望重置nodeCounter
並希望它具有增量值而是reset
所有其他值,因此我想做這樣的事情:
const getDefaultState = () => {
return {
showModal: false,
nodeInfo: [],
}
}
export const state = () => {
nodeCounter:0,
getDefaultState()
}
所以我所有的其他值都將是reset
但nodeCounter
只有在我刷新應用程序時才會重置。但我無法做到這一點。
有人可以讓我知道如何重置一些state
變量而不重置其中的一些嗎?我不想一個一個地重置狀態變量,所以我使用了function
這裡的一些答案中提到的方法。
我會嘗試保存 nodeCounter 的狀態(您要保留),然後在將狀態設置為默認值後進行設置。像這樣的東西:
const getDefaultState = () => {
return {
showModal: false,
nodeCounter:0,
nodeInfo: [],
}
}
export const state = () => getDefaultState()
export const mutations = {
resetState (state) {
// Reset all state variables to its default value for next node
const tmpNodeCounter = state.nodeCounter;
state = {...getDefaultState(),nodeCounter: tmpNodeCounter};
},
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句