반응형
Vuex 모듈을 올바르게 로드하는 방법
나는 그것들을 이런 식으로 등록하려고 노력한다.
전화할 때store.state['CHAT_BASE'].someData
정의되지 않은 값을 얻으려다 오류를 던지다
정적 수입으로 모든 것이 작동한다.
vuex 파일
import Vue from 'vue';
import Vuex from 'vuex';
import createLogger from 'vuex/dist/logger';
Vue.use(Vuex);
const enableLogger = false, /* You can do this: process.env.NODE_ENV !== 'production' */
store = new Vuex.Store({
strict: false,
plugins: enableLogger ? [createLogger()] : [],
modules: {
COMMON: () => import('./modules/common'),
/* Operators cabinet. */
RMS_REQUESTS: () => import('./modules/rms/operators_cabinet/requests'),
/* Request tree. */
RMS_PROCESS_DATA: () => import('./modules/rms/request_tree/process_data'),
RMS_FIELDS: () => import('./modules/rms/request_tree/fields'),
RMS_STATUSES: () => import('./modules/rms/request_tree/statuses'),
/* Chat. */
CHAT_COMMON: () => import('./modules/chat/common'),
CHAT_BASE: () => import('./modules/chat/base'),
CHAT_MESSAGE: () => import('./modules/chat/message'),
CHAT_SETTING: () => import('./modules/chat/setting'),
CHAT_HISTORY: () => import('./modules/chat/history')
}
});
export default store;
그리고 이렇게 노력했다.
import('./modules/chat/base.js')
.then(module=> {
store.registerModule('CHAT_BASE', module.default);
});
그러나 이 경우 모듈이 필요하지 않은 경우에도 모듈이 로드된다.Vue 구성 요소가 로드되지 않는 페이지.
한 파일에 게으르게 로드하는 방법?
참조URL: https://stackoverflow.com/questions/58695350/how-to-make-lazy-loading-of-vuex-modules-correctly
반응형
'programing' 카테고리의 다른 글
값이 있는 ArrayList를 선언하는 방법? (0) | 2022.04.16 |
---|---|
Vue js: 첫 페이지 로드에서만 css 애니메이션을 로드하는 방법 (0) | 2022.04.16 |
Vuex 스토어에서 Axios 예외를 포착하여 Vue.js 메서드에 저장 (0) | 2022.04.16 |
오류: 매개 변수에 대해 지정된 저장소 클래스 (0) | 2022.04.16 |
상위 구성 요소에서 하위 폼 데이터를 가져오는 VueJs (0) | 2022.04.16 |