반응형
변환 후 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
반응형
'programing' 카테고리의 다른 글
## 및 __LINE__를 사용하여 C 매크로 생성(위치 지정 매크로와의 토큰 연결) (0) | 2022.07.10 |
---|---|
uint32_t 및 uint16_t 변수' 값을 인쇄하려면 어떻게 해야 합니까? (0) | 2022.07.10 |
v-model 값을 변경할 때 @change 이벤트를 방지하는 방법 (0) | 2022.07.10 |
printf()는 "%f"만 사용해도 되는데, 왜 스캔f()는 두 배로 "%lf"가 필요합니까? (0) | 2022.07.10 |
mapState는 정확히 어떻게 사용합니까? (0) | 2022.07.10 |