Почему мой получатель из магазина в классе App.vue не определен

Я создаю электронное приложение, используя vue, vuex и vuex-typcript. Итак, у меня есть следующий код для моего магазина с использованием vuex-typcript:

export const dispaVuex = {
  namespaced: true,

  state: {
    dispatch: new Dispatcher(appState),
  },

  getters: {
    getFTime(state: DispatchState): boolean {
      return state.dispatch.fistTime;
    },
  },
};

const {read} = getStoreAccessors<DispatchState, RootState>("Test");

export const readFtime = read(dispaVuex.getters.getFTime);

После добавления хранилища в мой экземпляр vue я пытаюсь получить доступ к переменной firstTime в моем App.vue следующим образом:

@Component
export default class App extends Vue {
  // fTime: boolean;
  get fTime(): boolean {
    return readFtime(this.$store);
  }
}

При просмотре отладчика все в хранилище инициализируется идеально, но у моего экземпляра приложения значение fTime не определено.

Почему это так? Есть ли что-то, что я не понимаю в порядке того, как все сделано?

PS. firstTime является членом класса Dispatcher

1 ответ

Решение

Поэтому, внимательно изучив пример, приведенный в файле readme vuex-typescript, я заметил, что при вызове функции пропускаю неверное пространство имен getStoreAccessors,

С помощью dispaVuex вместо Test как это решило проблему:

const {read} = getStoreAccessors<DispatchState, RootState>("dispaVuex");
Другие вопросы по тегам