programing

변환 후 VueX Getter가 실행되지 않음

goodsources 2022. 7. 10. 21:25
반응형

변환 후 VueX Getter가 실행되지 않음

VueX를 연결했고 돌연변이는 정상적으로 작동하지만 Getter 메서드는 다시 실행되지 않습니다.TS 클래스의 컴포넌트 구문을 사용하지 않고 VueJs를 TypeScript와 함께 사용하고 있습니다.

제 코드는 다음과 같습니다.

export default new Vuex.Store({
  state: {
    Started: false
  },
  getters: {
    getStarted(state): boolean {
      console.log(state.Started)
      return state.Started;
    }
  },
  mutations: {
    setStarted(state, payload): void {
      console.log("mutated", payload)
      state.Started = payload;
    }
  },
  actions: {
  },
  modules: {
  }
})

이렇게 아이 구성요소의 돌연변이를 올바르게 커밋하고 있습니다.

emitStartedClicked(): void {
  console.log("from child clicked");
  this.$store.commit("setStarted", false);
}

다음과 같이 부모 컴포넌트의 getter를 듣습니다.

computed: {
    getStarted(): void {
      console.log("gottem");
      return this.$store.getters.getStarted;
    }
  }

하위 구성 요소에서 버튼을 클릭 한 번으로 변환을 트리거하고 상위 구성 요소의 계산된 속성에서 getter를 실행합니다.

콘솔 출력은 다음과 같습니다.

보시다시피 첫 페이지 로드 시 계산된 속성 내의 getter는 동작하고 있는 것처럼 보이지만, 변환이 트리거되는 버튼을 클릭해도 getter로부터의 갱신은 없습니다.여기서의 문제는 무엇입니까?

감사합니다.

상태를 설정해 본 적이 있습니까?거짓이 아닌 다른 걸 시작했나요?

처음에는 거짓이었고, 나중에는 이것이었다.$store.commit("setStarted", false")는 false로 갱신합니다.

언급URL : https://stackoverflow.com/questions/60165941/vuex-getter-not-running-after-mutation

반응형