Сброс магазина модуля до состояния - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь выяснить, как сброс работает с хранилищем VueX, когда состояние является модульным. Это моя структура VueX:

└── store
    ├── index.js              
    └── module-cart
         ├── index.js         
         ├── actions.js       
         ├── mutations.js
         ├── state.js         
         ├── getters.js        

Итак, я хочу сбросить состояние до исходного состояния для этого текущего модуля.

Я создал следующую мутацию в module-cart/mutations.js файле:

import initialState from './state.js';
export default {
  resetState(state) {
    Object.assign(state, initialState);
}
}

Итак, я импортировал файл состояния из состояния. js для этого модуля в качестве initialState, и я пытаюсь установить его обратно в исходное в моем компоненте.

Дело в том, что он не возвращается к Первоначально, состояние не изменяется при запуске мутации.

Вот мой module-cart/state.js файл:

export default function () {
  return {
    fileName: "",
    sheetName: "",
  }
}

И module-cart/index.js:

import state from './state'
import getters from './getters'
import mutations from './mutations'
import actions from './actions'


export default {
    namespaced: true,
    state,
    actions,
    mutations,
    getters
}

Я думаю, что я что-то упустил, но не уверен, что. Как я могу установить начальное состояние и рабочее состояние в такой структуре VueX для этого модуля?

1 Ответ

1 голос
/ 24 апреля 2020

Кажется, вы экспортируете функцию из module-cart/state.js. Вы должны вызвать его, чтобы получить объект по умолчанию.

import initialState from './state.js';
export default {
  resetState(state) {
    Object.assign(state, initialState());
 }
}

Обратите внимание, что я звоню initialState.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...