Мне трудно заставить мои модули vuex работать с Nuxt JS SSR, TypeScript и vuex-module-decorators.
Я попробовал следовать руководству с официального сайта Nuxt и vuex-module-decorators , но ничего не работает ...
Вот мой код:
// store/CommonModule.ts
import { Module, VuexModule, Mutation } from 'vuex-module-decorators'
@Module({
name: 'CommonModule',
namespaced: true,
stateFactory: true,
})
export default class CommonModule extends VuexModule {
message: string = 'hi'
@Mutation
public SET_MESSAGE(val: string) {
this.message = val
}
}
// store/index.ts
import Vuex from 'vuex'
import CommonModule from '~/store/CommonModule'
export function createStore() {
return new Vuex.Store({
modules: {
CommonModule,
},
})
}
// components/Home.vue
import { Component, Vue } from 'vue-property-decorator';
import { getModule } from 'vuex-module-decorators';
import CommonModule from '~/store/CommonModule'
@Component
export default class Home extends Vue {
get message(): string {
const commonModule = getModule(CommonModule, this.$store)
return commonModule.message // throws an error: Cannot read property 'message' of undefined
}
}
Всякий раз, когда я пытаюсь Доступ к чему-либо в моих модулях, они не определены ...
Я знаю, что этот подход "stati c modules". Моя цель - использовать модули Dynami c, но если модули STATI c являются единственным способом сделать это с Nuxt JS SSR, все будет хорошо.
Любая помощь будет с благодарностью Спасибо:)