반응형
Vuex, 루트 게이터에서 이름보다 앞선 모듈 게이터를 사용할 수 없는가?
루트 게터, vuex에서 name upted module getter를 사용할 수 없음.
안녕, 얘들아.
내 루트 상태에 게터가 있는데, 이 게이터는 모듈(필터)에서 다른 게터(getFilteredSpecialItems)를 참조해야 해.나는 루트게이터에 대해 알고 있다.vue 구성 요소에서 필터/getFilteredSpecialItems를 참조할 수 있으므로, 지금까지 작동하고 있다.
뿌리 상태
const getters: {
getSortedList: (state, getters, rootState, rootGetters) {
...
console.log(getters);
console.log(rootGetters);
console.log(getters.getFilteredSpecialItems);
console.log(rootGetters.getFilteredSpecialItems);
console.log(getters.filter.getFilteredSpecialItems);
console.log(rootGetters.filter.getFilteredSpecialItems);
...
}
}
필터 모듈
const state: {
namespaced: true
...
}
const getters: {
getFilteredSpecialItems: (state, getters, rootState) => {
....
}
}
폴더 구조
store
| index.js
| getters.js
| mutations.js
| actions.js
| state.js
| filter (dir)
| \
| | index.js
| | getters.js
| | mutations.js
| | actions.js
| | state.js
둘 다 Getter와 rootGetters가 필터 모듈을 등록했다(1차 및 2차).console.log
):
3번과 4번 console.log
이다undefined
, 5. 6. 에러를 던진다, 왜냐하면getters.filter
그리고rootGetters.filter
이다undefined
그래서 그들은 어떤 재산도 가지고 있지 않다.
어떻게 하면 내가 그것을 얻을 수 있을까?getFilteredSpecialItems
뿌리 안쪽에getSortedList
게터?
나는 어떤 종류의 도움이나 조언도 고맙게 생각한다.고맙다.
다음과 같은 이름 앞잡이에 액세스해야 한다.
rootGetters['filter/getFilteredSpecialItems']
이와 같지 않음(상태와 다름):
rootGetters.filter.getFilteredSpecialItems
같은 모듈에 있는 다른 getter로부터, 당신은 이것을 할 수 있어야 한다.
getters.getFilteredSpecialItems
만약 그것이 돌아온다면undefined
그럼 아마 너의 게터가 돌아올거야undefined
? 마지막 통화 이후 게터 함수 내에서 관측 가능한 데이터가 변경되지 않은 경우 마지막 반환 값이 캐시될 수 있다는 점을 염두에 두고 실제로 호출되고 있는지 확인하십시오.
반응형
'IT이야기' 카테고리의 다른 글
Java 스레드에 매개 변수를 전달하는 방법 (0) | 2022.05.16 |
---|---|
코틀린에서 자바 정전기법에 해당하는 것은 무엇인가? (0) | 2022.05.16 |
뮤텍스를 고정하는 나사산을 결정할 수 있는가? (0) | 2022.05.16 |
GLIBC란 무엇인가?그것은 무엇에 쓰이는가? (0) | 2022.05.16 |
v- 안에서 v-skeleton-loader를 시각적으로 만드는 방법? (0) | 2022.05.16 |