IT이야기

Vuex Store Getter가 새 값을 제 시간에 받지 못함.isoWeek()

cyworld 2022. 3. 19. 12:31
반응형

Vuex Store Getter가 새 값을 제 시간에 받지 못함.isoWeek()

내 템플릿에서 나는 내 상점에서 시간을 낼 수 있고 그것은 잘 작동한다.시간이 바뀔 때마다 업데이트된다.그러나 내가 이렇게 주에서 온 게터들을 지도화하면:

computed: {
  ...mapGetters({
    week: "week",
    year: "year",
    time: "time",
  }),
}

주간과 연도의 가치는 절대 변하지 않는다.왜 그런 것일까요?제가 무엇을 빠뜨리고 있나요?

그러나 템플릿에서 이 작업을 수행하는 것은 효과가 있다: $store.getters['week]

My State는 다음과 같이 보인다.

const state = {
  time: moment(),
};

작업:

const actions = {
  changeTimeToNextWeek(context) {
    context.commit("changeTimeToNextWeek");
  },
  changeTimeToPreviousWeek(context) {
    context.commit("changeTimeToPreviousWeek");
  },
};

돌연변이:

const mutations = {
  changeTimeToNextWeek(state) {
    state.time = state.time.add(1, "week");
  },
  changeTimeToPreviousWeek(state) {
    state.time = state.time.subtract(1, "week");
  },
};

내 게터들은 이렇게 생겼어

const getters = {    
  week: (state, getters) => {
    return getters.time.isoWeek();
  },
  year: (state, getters) => {
    return state.time.isoWeekYear();
  },
  time: (state, getters) => {
    return state.time;
  },
};

momentus js는 반응적이지 않으므로 getter에서 아래와 같이 사용하도록 시도하십시오.

moment(state.time)...

날짜/시간을 문자열로 필요한 형식에 따라 시간 변수에 맞추십시오.원하는 대로 상태 시간을 초기화하십시오.

참조URL: https://stackoverflow.com/questions/66221682/vuex-store-getter-doesnt-get-the-new-value-on-time-isoweek

반응형