반응형
하위 디렉터리의 Vuex 액세스 모듈
나는 다음과 같은 디렉토리 구조를 가지고 있다.
- 저장하다
- 모듈
- file1.js
- file2.js
- file3.js
- 다른 폴더
- filex1.js
- 모듈
내 질문은, 어떻게 다른 Folder/filex1.js의 상태에 접근하는가에 관한 것이다. 나는 값을 설정할 수 있지만, 나는 그것을 얻을 수 없다.
this.$store.dispatch('anotherFolder/filex1/myAction', {}) //work
let val = this.$store.state.anotherFolder.filex1.myValue //not work
나는 아래와 같이 모듈을 수입하고 있다.
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
const store = new Vuex.Store({
modules,
getters
})
export default store
my filex1.js
export default {
namespaced: true,
state: {
myValue: {}
},
actions: {
myAction({ commit }, reg) {
commit('MY_ACTION', reg)
}
},
mutations: {
MY_ACTION(state, reg) {
state.myValue = reg
}
}
}
나는 매장 파일을 서브디렉토리로 정리해서 모듈 폴더에 모든 것을 다 넣지 않았으면 좋겠어.고마워!
구성 요소의 vuex에서 제공하는 바인딩 도우미를 사용하여 중첩된 모듈의 상태에 액세스할 수 있음:
computed: {
...mapState({
a: state => state.some.nested.module.a,
b: state => state.some.nested.module.b
})
}
https://vuex.vuejs.org/guide/modules.html#namespacing을 참조하십시오.
참조URL: https://stackoverflow.com/questions/65036401/vuex-access-modules-in-subdirectories
반응형
'programing' 카테고리의 다른 글
8진수 리터럴:언제? 왜? 한번도? (0) | 2022.04.25 |
---|---|
계산된 속성을 통해 Vuex 상태 변경에 대한 구성 요소 업데이트 (0) | 2022.04.25 |
최종 블록은 항상 Java에서 실행되는가? (0) | 2022.04.25 |
C 및 C++에서 유니언의 목적 (0) | 2022.04.25 |
v-select 또는 v-comobox에서 "모두 선택" 옵션을 사용하는 방법 (0) | 2022.04.25 |