반응형
vuex getter 캐시를 사용하지 않도록 설정하려면 어떻게 해야 합니까?
Vue 계산 속성에서 캐시를 사용하지 않도록 설정할 수 있습니다.cache: false
선택.예를 들어 다음과 같습니다.
computed: {
now: {
cache: false,
get() {
return Date.now();
}
}
}
하지만 Vuex getters에서 이 기능을 사용할 수 있는지 궁금합니다.
캐시를 "비활성화"하기 위해서는 함수로 사용되는 getter가 캐시되지 않는다는 점을 이용할 수 있습니다.
메서드를 통해 액세스되는 getter는 호출할 때마다 실행되며 결과는 캐시되지 않습니다.
캐시되지 않은 속성에 액세스 할 때 괄호(실제로 호출 함수)를 추가하는 것을 꺼려하지 않으면 다음과 같은 것을 사용할 수 있습니다.
getters: {
myNonCachedGetter: state => () => {
// original getter body
}
}
그 후, 로서 사용됩니다.myNonCachedGetter()
.
vuex의 최신 버전에서는 다음 기능이 작동하지 않는 것으로 나타났습니다.
다만, 통상의 getter로 하고 싶은 경우는, 호출이 있는 함수로 정리할 수 있습니다.
getters: {
myNonCachedGetter: state => (() => {
// original getter body
})()
}
코드를 읽기 어려워 보이긴 하지만 다음과 같이 단순하다고 할 수 있습니다.myNonCachedGetter
.
언급URL : https://stackoverflow.com/questions/50236767/how-can-i-disable-vuex-getter-caching
반응형
'programing' 카테고리의 다른 글
특정 값이 채워졌을 때 Vue.js 구성 요소에서 메서드를 호출하는 방법(단 한 번만) (0) | 2022.08.31 |
---|---|
vue.js 필터에서 vue 인스턴스를 반환합니다(Vue.js 2). (0) | 2022.08.31 |
C로 16진수 문자 인쇄 (0) | 2022.08.31 |
vue watch mapState가 작동하지 않음 (0) | 2022.08.31 |
vuejs의 클래스 기반 구성 요소에 계산된 세터를 작성하는 방법 (0) | 2022.08.31 |