-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
store getter 접근 문의
19.11.12 08:31 작성 조회수 102
1
안녕하세요.
좋은 강좌 해주셔서 진심 감사드립니다.
스토어를 모듈별로 아래와 같이 (todo.js) 관리할 경우
TodoFooter.vue 에서 state 접근 시
this.$store.state.todo.num 이렇게 하면 값을 나오는것을 확인했습니다.
getters의 경우 this.$store.getters.getNumber 이렇게 접근해야 값이 나오는데
스토여가 여러개 있을 시 중복을 피하고자 “namespaced: true” 옵션을 넣으면 될거 같아서 추가해봤습니다.
추가 후 this.$store.getters.getNumber 로는 값이 나오지 않지만 접근 방법을 모르겠습니다.
Getters 의 경우도 state 와 동일하게 getter.todo ~ 로 접근이 가능하게 할려면 어떻게 하는지 궁금합니다.
감사합니다.
——— todo.js ————
const state = {
num: 10
};
const getters = {
getNumber(state) {
return state.num;
},
doubleNumber(state) {
return state.num * 2;
}
};
export default {
namespaced: true,
state,
getters
}
——— store.js —————
import Vue from 'vue'
import Vuex from 'vuex'
import todo from './modules/todo'
Vue.use(Vuex);
export const store = new Vuex.Store({
modules: {
todo
}
})
답변을 작성해보세요.
0
장기효(캡틴판교)
지식공유자2019.11.12
안녕하세요 국정일님, 좋은 강좌라고 말씀해주셔서 감사합니다 :)
질문하신 것에 바로 답변 드리면 아래와 같은 코드로 모듈화된 스토어의 속성에 접근할 수 있습니다.
(기존)
this.$store.state.num
(모듈화)
this.$store.state.모듈화이름.num
그리고 getters는 아래와 같은 방식으로 접근합니다.
this.$store.getters['모듈화이름/속성이름']
따라서, 정일님의 상황에 코드를 대입해보면 아래와 같습니다.
this.$store.getters['todo/doubleNumber']
해보시고 안되시는거 있으면 또 알려주세요 :)
답변 1