해결된 질문
작성
·
275
1
개발자 도구에서 보면 아래 사진과 같은 에러가 뜨는데 무슨 이유 인가요?
import {Module, VuexModule, Mutation, Action} from 'vuex-module-decorators';
@Module({namespaced: true, name: 'moduleB'})
export default class ModuleB extends VuexModule {
data: string = 'moduleB';
@Mutation
setData(data: string){
this.data = data;
}
@Action
editData(data: string) {
this.context.commit('setData', data);
}
get moduleBdata(){
return this.data;
}
}
답변 3
1
안녕하세요!
코드를 확인해 보니, App.vue의 스토어를 호출하는 부분에서 에러가 발생하고 있습니다.
this.$store.dispatch('moduleB/editData', 'test');
vuex-module-decorator 커뮤니티를 살펴봤는데,
이와 같은 에러가 발생할 경우 동적으로 모듈을 가져오는 방법을 권장하고 있습니다.
App.vue의 스크립트 부분을 아래와 같이 수정해 보셔요 ^^
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import HelloWorld from './components/HelloWorld.vue';
import { getModule } from "vuex-module-decorators";
import MyStore from '@/store/moduleB.store.ts';
@Component({
components: {
HelloWorld,
},
})
export default class App extends Vue {
moduleB: any;
created(){
this.moduleB = getModule(MyStore, this.$store);
this.moduleB.editData('test');
}
}
</script>
왜 이런 에러가 발생하는지, 왜 동적모듈을 가져오는걸 권장하는지
딱히 개발자도 코멘트는 없네요 ...
아래 링크를 참고하여 수정한 것입니다.
https://github.com/championswimmer/vuex-module-decorators/issues/86
https://github.com/championswimmer/vuex-module-decorators/issues/116
0
0
안녕하세요!
올려주신 코드만으로는 확인이 어렵습니다 ㅠ.ㅠ 혹시 전체적인 코드를 확인할 수 있는 방법이 없을까요?
github같은곳에 프로젝트 업로드 하신 뒤 링크를 알려주시면 도움을 드릴 수 있도록 하겠습니다!